Initializes the dataset with the image and segmentation filename lists. The transform `transform` is applied to the images and `seg_transform` to the segmentations. Args: image_files: list of image filenames. seg_files: if in segmentation task, list
(
self,
image_files: Sequence[str],
seg_files: Sequence[str] | None = None,
labels: Sequence[float] | None = None,
transform: Callable | None = None,
seg_transform: Callable | None = None,
label_transform: Callable | None = None,
image_only: bool = True,
transform_with_metadata: bool = False,
dtype: DtypeLike = np.float32,
reader: ImageReader | str | None = None,
*args,
**kwargs,
)
| 34 | """ |
| 35 | |
| 36 | def __init__( |
| 37 | self, |
| 38 | image_files: Sequence[str], |
| 39 | seg_files: Sequence[str] | None = None, |
| 40 | labels: Sequence[float] | None = None, |
| 41 | transform: Callable | None = None, |
| 42 | seg_transform: Callable | None = None, |
| 43 | label_transform: Callable | None = None, |
| 44 | image_only: bool = True, |
| 45 | transform_with_metadata: bool = False, |
| 46 | dtype: DtypeLike = np.float32, |
| 47 | reader: ImageReader | str | None = None, |
| 48 | *args, |
| 49 | **kwargs, |
| 50 | ) -> None: |
| 51 | """ |
| 52 | Initializes the dataset with the image and segmentation filename lists. The transform `transform` is applied |
| 53 | to the images and `seg_transform` to the segmentations. |
| 54 | |
| 55 | Args: |
| 56 | image_files: list of image filenames. |
| 57 | seg_files: if in segmentation task, list of segmentation filenames. |
| 58 | labels: if in classification task, list of classification labels. |
| 59 | transform: transform to apply to image arrays. |
| 60 | seg_transform: transform to apply to segmentation arrays. |
| 61 | label_transform: transform to apply to the label data. |
| 62 | image_only: if True return only the image volume, otherwise, return image volume and the metadata. |
| 63 | transform_with_metadata: if True, the metadata will be passed to the transforms whenever possible. |
| 64 | dtype: if not None convert the loaded image to this data type. |
| 65 | reader: register reader to load image file and metadata, if None, will use the default readers. |
| 66 | If a string of reader name provided, will construct a reader object with the `*args` and `**kwargs` |
| 67 | parameters, supported reader name: "NibabelReader", "PILReader", "ITKReader", "NumpyReader" |
| 68 | args: additional parameters for reader if providing a reader name. |
| 69 | kwargs: additional parameters for reader if providing a reader name. |
| 70 | |
| 71 | Raises: |
| 72 | ValueError: When ``seg_files`` length differs from ``image_files`` |
| 73 | |
| 74 | """ |
| 75 | |
| 76 | if seg_files is not None and len(image_files) != len(seg_files): |
| 77 | raise ValueError( |
| 78 | "Must have same the number of segmentation as image files: " |
| 79 | f"images={len(image_files)}, segmentations={len(seg_files)}." |
| 80 | ) |
| 81 | |
| 82 | self.image_files = image_files |
| 83 | self.seg_files = seg_files |
| 84 | self.labels = labels |
| 85 | self.transform = transform |
| 86 | self.seg_transform = seg_transform |
| 87 | self.label_transform = label_transform |
| 88 | if image_only and transform_with_metadata: |
| 89 | raise ValueError("transform_with_metadata=True requires image_only=False.") |
| 90 | self.image_only = image_only |
| 91 | self.transform_with_metadata = transform_with_metadata |
| 92 | self.loader = LoadImage(reader, image_only, dtype, *args, **kwargs) |
| 93 | self.set_random_state(seed=get_seed()) |
nothing calls this directly
no test coverage detected