deep_folding.preprocessing package¶
Submodules¶
deep_folding.preprocessing.create_sets module¶
The aim of this script is to create pytorch dataloaders from MRIs saved as numpy arrays in a .pickle.
-
deep_folding.preprocessing.create_sets.create_benchmark_test(benchmark, side, handedness=1)¶ Creates test datasets from benchmark of altered skeletons (cf anatomist_tools.benchmark_generation module) IN: benchmark: int, number of benchmark
handedness: int, 1 if right handed, 2 if left handedOUT: dataset_test_abnor_loader
-
deep_folding.preprocessing.create_sets.create_hcp_benchmark(side, benchmark, directory, batch_size, handedness=1)¶ Creates datasets from HCP data and depending on dataset split of benchmark generation (cf anatomist_tools.benchmark_generation module) /!ONLY DIFFERENCE FROM create_hcp_sets function is only that it creates sets from benchmark split. IN: side: str, ‘right’ or ‘left’
handedness: int, 1 if right handed, 2 if left handed directory: str, folder in which save the results batch_size: int, size of training batches- OUT: root_dir,
- dataset_train_loader, dataset_val_loader, dataset_test_loader
-
deep_folding.preprocessing.create_sets.create_hcp_sets(skeleton, side, directory, batch_size, handedness=0)¶ Creates datasets from HCP data IN: skeleton: boolean, True if input is skeleton, False otherwise,
side: str, ‘right’ or ‘left’ handedness: int, 0 if mixed ind, 1 if right handed, 2 if left handed directory: str, folder in which save the results batch_size: int, size of training batches weights: list, list of weights to apply to skeleton values- OUT: root_dir: created directory where results will be stored
- dataset_train_loader, dataset_val_loader, dataset_test_loader: loaders that will be used for training and testing
-
deep_folding.preprocessing.create_sets.create_left_handed_set(skeleton, side)¶ Creates dataset of left handed HCP individuals IN: skeleton: boolean, True if input is skeleton, False otherwise,
side: str, corresponds to hemisphere’s side ‘right’ or ‘left’OUT:
-
deep_folding.preprocessing.create_sets.create_loader_from_csv(subject_list, side)¶ Creates a dataloader from a list of subjects IN: subject_list: list of subjects to put in loader, csv file
side: ‘left’ or ‘right’ hemisphere, strOUT: dataloader
deep_folding.preprocessing.datasets module¶
Tools in order to create pytorch dataloaders
-
class
deep_folding.preprocessing.datasets.AugDatasetTransformer(base_dataset)¶ Bases:
torch.utils.data.dataset.DatasetCustom dataset that applies data augmentation on a dataset processed through TensorDataset or Skeleton Dataset classes. Transformations are performed on CPU.
-
class
deep_folding.preprocessing.datasets.SkeletonDataset(dataframe, filenames=None)¶ Bases:
objectCustom dataset for skeleton images that includes image file paths. dataframe: dataframe containing training and testing arrays filenames: optional, list of corresponding filenames Works on CPUs
-
class
deep_folding.preprocessing.datasets.TensorDataset(data_tensor, filenames, skeleton)¶ Bases:
objectCustom dataset that includes image file paths. Applies different transformations to data depending on the type of input. IN: data_tensor: tensor containing MRIs as numpy arrays
filenames: list of subjects’ IDs skeleton: boolean, whether input is skeleton images or notOUT: tensor of [batch, sample, subject ID]
deep_folding.preprocessing.generate_numpy_array module¶
Create numpy arrays from folders containing skeletons, distance maps…
Typical usage¶
You can use this program by first entering in the brainvisa environment (here brainvisa 5.0.0 installed with singurity) and launching the script from the terminal: >>> bv bash >>> python generate_numpy_array.py
-
deep_folding.preprocessing.generate_numpy_array.generate_np_array(src_dir)¶ Creates a numpy array of all nii.gz files from a given folder
-
deep_folding.preprocessing.generate_numpy_array.main()¶
deep_folding.preprocessing.pynet_transforms module¶
Module that defines common transformations that can be applied when the dataset is loaded.
-
class
deep_folding.preprocessing.pynet_transforms.Downsample(scale, with_channels=True)¶ Bases:
objectA class to downsample an array.
-
class
deep_folding.preprocessing.pynet_transforms.DownsampleTensor(scale, with_channels=True)¶ Bases:
objectA class to downsample a tensor.
-
class
deep_folding.preprocessing.pynet_transforms.NormalizeHisto(arr, *args)¶ Bases:
objectClass to normalize voxels’ intensity values to interval
-
class
deep_folding.preprocessing.pynet_transforms.NormalizeSkeleton(nb_cls=3)¶ Bases:
objectClass to normalize skeleton objects, black voxels: 0 grey and white voxels: 1
-
class
deep_folding.preprocessing.pynet_transforms.Padding(shape, nb_channels=1, fill_value=0)¶ Bases:
objectA class to pad an image.
-
class
deep_folding.preprocessing.pynet_transforms.PaddingTensor(shape, nb_channels=1, fill_value=0)¶ Bases:
objectA class to pad a tensor