Folder 3D Data#
Custom Folder Dataset.
This script creates a custom dataset from a folder.
- class anomalib.data.depth.folder_3d.Folder3D(name, normal_dir, root, abnormal_dir=None, normal_test_dir=None, mask_dir=None, normal_depth_dir=None, abnormal_depth_dir=None, normal_test_depth_dir=None, extensions=None, train_batch_size=32, eval_batch_size=32, num_workers=8, task=TaskType.SEGMENTATION, image_size=None, transform=None, train_transform=None, eval_transform=None, test_split_mode=TestSplitMode.FROM_DIR, test_split_ratio=0.2, val_split_mode=ValSplitMode.FROM_TEST, val_split_ratio=0.5, seed=None)#
Bases:
AnomalibDataModule
Folder DataModule.
- Parameters:
name (str) – Name of the dataset. This is used to name the datamodule, especially when logging/saving.
normal_dir (str | Path) – Name of the directory containing normal images.
root (str | Path | None) – Path to the root folder containing normal and abnormal dirs. Defaults to
None
.abnormal_dir (str | Path | None) – Name of the directory containing abnormal images. Defaults to
abnormal
.normal_test_dir (str | Path | None, optional) – Path to the directory containing normal images for the test dataset. Defaults to
None
.mask_dir (str | Path | None, optional) – Path to the directory containing the mask annotations. Defaults to
None
.normal_depth_dir (str | Path | None, optional) – Path to the directory containing normal depth images for the test dataset. Normal test depth images will be a split of normal_dir
abnormal_depth_dir (str | Path | None, optional) – Path to the directory containing abnormal depth images for the test dataset.
normal_test_depth_dir (str | Path | None, optional) – Path to the directory containing normal depth images for the test dataset. Normal test images will be a split of normal_dir if None. Defaults to None.
normal_split_ratio (float, optional) – Ratio to split normal training images and add to the test set in case test set doesn’t contain any normal images. Defaults to 0.2.
extensions (tuple[str, ...] | None, optional) – Type of the image extensions to read from the directory. Defaults to None.
train_batch_size (int, optional) – Training batch size. Defaults to
32
.eval_batch_size (int, optional) – Test batch size. Defaults to
32
.num_workers (int, optional) – Number of workers. Defaults to
8
.task (TaskType, optional) – Task type. Could be
classification
,detection
orsegmentation
. Defaults toTaskType.SEGMENTATION
.image_size (tuple[int, int], optional) – Size to which input images should be resized. Defaults to
None
.transform (Transform, optional) – Transforms that should be applied to the input images. Defaults to
None
.train_transform (Transform, optional) – Transforms that should be applied to the input images during training. Defaults to
None
.eval_transform (Transform, optional) – Transforms that should be applied to the input images during evaluation. Defaults to
None
.test_split_mode (TestSplitMode) – Setting that determines how the testing subset is obtained. Defaults to
TestSplitMode.FROM_DIR
.test_split_ratio (float) – Fraction of images from the train set that will be reserved for testing. Defaults to
0.2
.val_split_mode (ValSplitMode) – Setting that determines how the validation subset is obtained. Defaults to
ValSplitMode.FROM_TEST
.val_split_ratio (float) – Fraction of train or test images that will be reserved for validation. Defaults to
0.5
.seed (int | None, optional) – Seed used during random subset splitting. Defaults to
None
.
- property name: str#
Name of the datamodule.
Folder3D datamodule overrides the name property to provide a custom name.
- class anomalib.data.depth.folder_3d.Folder3DDataset(name, task, normal_dir, root=None, abnormal_dir=None, normal_test_dir=None, mask_dir=None, normal_depth_dir=None, abnormal_depth_dir=None, normal_test_depth_dir=None, transform=None, split=None, extensions=None)#
Bases:
AnomalibDepthDataset
Folder dataset.
- Parameters:
name (str) – Name of the dataset.
task (TaskType) – Task type. (
classification
,detection
orsegmentation
).transform (Transform, optional) – Transforms that should be applied to the input images.
normal_dir (str | Path) – Path to the directory containing normal images.
root (str | Path | None) – Root folder of the dataset. Defaults to
None
.abnormal_dir (str | Path | None, optional) – Path to the directory containing abnormal images. Defaults to
None
.normal_test_dir (str | Path | None, optional) – Path to the directory containing normal images for the test dataset. Defaults to
None
.mask_dir (str | Path | None, optional) – Path to the directory containing the mask annotations. Defaults to
None
.normal_depth_dir (str | Path | None, optional) – Path to the directory containing normal depth images for the test dataset. Normal test depth images will be a split of normal_dir Defaults to
None
.abnormal_depth_dir (str | Path | None, optional) – Path to the directory containing abnormal depth images for the test dataset. Defaults to
None
.normal_test_depth_dir (str | Path | None, optional) – Path to the directory containing normal depth images for the test dataset. Normal test images will be a split of normal_dir if None. Defaults to
None
.transform – Transforms that should be applied to the input images. Defaults to
None
.split (str | Split | None) – Fixed subset split that follows from folder structure on file system. Choose from [Split.FULL, Split.TRAIN, Split.TEST] Defaults to
None
.extensions (tuple[str, ...] | None, optional) – Type of the image extensions to read from the directory. Defaults to
None
.
- Raises:
ValueError – When task is set to classification and mask_dir is provided. When mask_dir is provided, task should be set to segmentation.
- property name: str#
Name of the dataset.
Folder3D dataset overrides the name property to provide a custom name.
- anomalib.data.depth.folder_3d.make_folder3d_dataset(normal_dir, root=None, abnormal_dir=None, normal_test_dir=None, mask_dir=None, normal_depth_dir=None, abnormal_depth_dir=None, normal_test_depth_dir=None, split=None, extensions=None)#
Make Folder Dataset.
- Parameters:
normal_dir (str | Path) – Path to the directory containing normal images.
root (str | Path | None) – Path to the root directory of the dataset. Defaults to
None
.abnormal_dir (str | Path | None, optional) – Path to the directory containing abnormal images. Defaults to
None
.normal_test_dir (str | Path | None, optional) – Path to the directory containing normal images for the test
None. (dataset. Normal test images will be a split of normal_dir if) – Defaults to
None
.mask_dir (str | Path | None, optional) – Path to the directory containing the mask annotations. Defaults to
None
.normal_depth_dir (str | Path | None, optional) – Path to the directory containing normal depth images for the test dataset. Normal test depth images will be a split of normal_dir Defaults to
None
.abnormal_depth_dir (str | Path | None, optional) – Path to the directory containing abnormal depth images for the test dataset. Defaults to
None
.normal_test_depth_dir (str | Path | None, optional) – Path to the directory containing normal depth images for the test dataset. Normal test images will be a split of normal_dir if None. Defaults to
None
.split (str | Split | None, optional) – Dataset split (ie., Split.FULL, Split.TRAIN or Split.TEST). Defaults to
None
.extensions (tuple[str, ...] | None, optional) – Type of the image extensions to read from the directory. Defaults to
None
.
- Returns:
an output dataframe containing samples for the requested split (ie., train or test)
- Return type:
DataFrame