neuro_morpho.data.data_loader ============================= .. py:module:: neuro_morpho.data.data_loader .. autoapi-nested-parse:: Data Loader for the NeuroMorpho dataset. Classes ------- .. autoapisummary:: neuro_morpho.data.data_loader.NeuroMorphoDataset Functions --------- .. autoapisummary:: neuro_morpho.data.data_loader.build_dataloader Module Contents --------------- .. py:class:: NeuroMorphoDataset(x_dir: str | pathlib.Path, y_dir: str | pathlib.Path, aug_transform: torchvision.transforms.v2.Transform = None, pre_aug_x_transform: torchvision.transforms.v2.Transform = None, pre_aug_y_transform: torchvision.transforms.v2.Transform = None, post_aug_x_transform: torchvision.transforms.v2.Transform = None, post_aug_y_transform: torchvision.transforms.v2.Transform = None) Bases: :py:obj:`torch.utils.data.Dataset` NeuroMorpho Dataset. This dataset is used to load images and their corresponding labels for training and testing. .. py:attribute:: img_files .. py:attribute:: lbl_files .. py:attribute:: aug_transform :value: None .. py:attribute:: pre_aug_x_transform :value: None .. py:attribute:: pre_aug_y_transform :value: None .. py:attribute:: post_aug_x_transform :value: None .. py:attribute:: post_aug_y_transform :value: None .. py:method:: __getitem__(index: int) -> tuple[torch.Tensor, torch.Tensor | tuple[torch.Tensor, Ellipsis]] Get an item from the dataset. :param index: Index of the item. :type index: int :returns: Tuple containing the image and label. :rtype: tuple .. py:method:: __len__() -> int Get the length of the dataset. :returns: Length of the dataset. :rtype: int .. py:function:: build_dataloader(x_dir: str | pathlib.Path, y_dir: str | pathlib.Path, batch_size: int = 1, shuffle: bool = True, num_workers: int = 0, aug_transform: torchvision.transforms.v2.Transform = None, pre_aug_x_transform: torchvision.transforms.v2.Transform = None, post_aug_x_transform: torchvision.transforms.v2.Transform = None, pre_aug_y_transform: torchvision.transforms.v2.Transform = None, post_aug_y_transform: torchvision.transforms.v2.Transform = None) -> torch.utils.data.DataLoader Build a DataLoader for the dataset. :param x_dir: Directory containing the input images. :type x_dir: str|Path :param y_dir: Directory containing the label images. :type y_dir: str|Path :param batch_size: Batch size. Defaults to 1. :type batch_size: int, optional :param shuffle: Whether to shuffle the data. Defaults to True. :type shuffle: bool, optional :param num_workers: Number of workers. Defaults to 0. :type num_workers: int, optional :param aug_transform: Transform to be applied to the data for augmentation. Defaults to None. :type aug_transform: v2.Transform, optional :param pre_aug_x_transform: Transform to be applied to the input images for normalization. Defaults to None. :type pre_aug_x_transform: v2.Transform, optional :param post_aug_x_transform: Transform to be applied to the input images after augmentation. Defaults to None. :type post_aug_x_transform: v2.Transform, optional :param pre_aug_y_transform: Transform to be applied to the label images for normalization. Defaults to None. :type pre_aug_y_transform: v2.Transform, optional :param post_aug_y_transform: Transform to be applied to the label images after augmentation. Defaults to None. :type post_aug_y_transform: v2.Transform, optional :returns: DataLoader for the dataset. :rtype: td.DataLoader