Folder Datamodule#
Custom Folder Datamodule for 3D data.
This module provides a custom datamodule for handling 3D data organized in folders. The datamodule supports RGB and depth image pairs for anomaly detection tasks.
Example
Create a folder 3D datamodule:
>>> from anomalib.data import Folder3D
>>> datamodule = Folder3D(
... name="my_dataset",
... root="path/to/dataset",
... normal_dir="normal",
... abnormal_dir="abnormal"
... )
- class anomalib.data.datamodules.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, train_augmentations=None, val_augmentations=None, test_augmentations=None, augmentations=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:
AnomalibDataModuleFolder DataModule for 3D data.
This class extends
AnomalibDataModuleto handle datasets containing RGB and depth image pairs organized in folders.- Parameters:
name (
str) – Name of the dataset used for logging and saving.normal_dir (
str|Path) – Directory containing normal RGB images.root (
str|Path) – Root folder containing normal and abnormal dirs.abnormal_dir (
str|Path|None) – Directory containing abnormal RGB images. Defaults toNone.normal_test_dir (
str|Path|None) – Directory containing normal RGB images for testing. Defaults toNone.mask_dir (
str|Path|None) – Directory containing mask annotations. Defaults toNone.normal_depth_dir (
str|Path|None) – Directory containing normal depth images. Defaults toNone.abnormal_depth_dir (
str|Path|None) – Directory containing abnormal depth images. Defaults toNone.normal_test_depth_dir (
str|Path|None) – Directory containing normal depth images for testing. IfNone, uses split fromnormal_dir. Defaults toNone.extensions (
tuple[str] |None) – Image file extensions to read. Defaults toNone.train_batch_size (
int) – Training batch size. Defaults to32.eval_batch_size (
int) – Evaluation batch size. Defaults to32.num_workers (
int) – Number of workers for data loading. Defaults to8.train_augmentations (
Transform|None) – Augmentations to apply to the training images Defaults toNone.val_augmentations (
Transform|None) – Augmentations to apply to the validation images. Defaults toNone.test_augmentations (
Transform|None) – Augmentations to apply to the test images. Defaults toNone.augmentations (
Transform|None) – General augmentations to apply if stage-specific augmentations are not provided.test_split_mode (
TestSplitMode|str) – Method to create test set. Defaults toTestSplitMode.FROM_DIR.test_split_ratio (
float) – Fraction of data for testing. Defaults to0.2.val_split_mode (
ValSplitMode|str) – Method to create validation set. Defaults toValSplitMode.FROM_TEST.val_split_ratio (
float) – Fraction of data for validation. Defaults to0.5.seed (
int|None) – Random seed for splitting. Defaults toNone.