bm_dataset.rescale_tissue_landmarks module¶
According given annotations select a subset and add synthetic points and scale it into particular scales used in dataset
The expected structure of annotations is as follows ANNOTATIONS/<tissue>/<user>_scale-<number>pc/<csv-file> The expected structure of dataset is DATASET/<tissue>/scale-<number>pc/<image-file>
Sample usage:
python rescale_tissue_landmarks.py -a data-images -d results
python bm_dataset/rescale_tissue_landmarks.py -a /datagrid/Medical/dataset_ANHIR/landmarks_all -d /datagrid/Medical/dataset_ANHIR/landmarks_user --scales 2 5 10 15 20 25 50 100 --nb_selected 0.2
In case, you are working with the user annotation you need to generate consensus landmark annotation first, using https://borda.github.io/dataset-histology-landmarks/ Sample usage:
python handlers/run_generate_landmarks.py -a /datagrid/Medical/dataset_ANHIR/landmarks_annot -d /datagrid/Medical/dataset_ANHIR/landmarks_all --scales 2 5 10 15 20 25 50 100
Copyright (C) 2014-2019 Jiri Borovec <jiri.borovec@fel.cvut.cz>
- bm_dataset.rescale_tissue_landmarks.arg_parse_params()[source]¶
argument parser from cmd
- Return dict
- bm_dataset.rescale_tissue_landmarks.dataset_expand_landmarks(path_annots, path_dataset, nb_selected=None, nb_total=None, nb_workers=1)[source]¶
select and expand over whole dataset
- bm_dataset.rescale_tissue_landmarks.dataset_scale_landmarks(path_dataset, scales=(5, 10, 15, 20, 25, 50), nb_workers=1)[source]¶
generate several scales within the same dataset
- bm_dataset.rescale_tissue_landmarks.expand_random_warped_landmarks(names_lnds, names_lnds_new, nb_total)[source]¶
add some extra point which are randomly sampled in the first sample and warped to the other images using estimated affine transform
- bm_dataset.rescale_tissue_landmarks.extend_landmarks(path_set, path_dataset, nb_selected=None, nb_total=None)[source]¶
select and extend the original set of landmarks
- Parameters
path_set (str) – path to the particular set if images/landmarks
path_dataset (str) – root path to generated dataset
nb_selected (float|int|None) – portion of selected points, if None use all original landmarks
nb_total (int|None) – add extra points up to total number, if None, no adding extra points
- Returns
- bm_dataset.rescale_tissue_landmarks.generate_random_points_inside(ref_points, nb_extras)[source]¶
generate some extra points inside the tissue boundary polygon
- Parameters
ref_points – point of the tissue
nb_extras (int) – number of point to be added
- Return [(int, int)]
extra points
- bm_dataset.rescale_tissue_landmarks.load_largest_scale(path_set)[source]¶
in given set find the largest scale and load all landmarks in full size
- Parameters
path_set (str) – path to image/landmark set
- Return dict
dictionary of ndarray with loaded landmarks in full scale
- bm_dataset.rescale_tissue_landmarks.main(path_annots, path_dataset, scales, nb_selected=None, nb_total=None, nb_workers=1)[source]¶
main entry point
- Parameters
- Return tuple(int,int)