Find DICOMs
imgtools.dicom.utils.find_dicoms
find_dicoms(directory: Path, recursive: bool, check_header: bool, extension: Optional[str] = None) -> List[Path]
Locate DICOM files in a specified directory.
This function scans a directory for files matching the specified extension and validates them as DICOM files based on the provided options. It supports recursive search and optional header validation to confirm file validity.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
|
Path
|
The directory in which to search for DICOM files. |
required |
|
bool
|
Whether to include subdirectories in the search.
|
required |
|
bool
|
Whether to validate files by checking for a valid DICOM header.
|
required |
|
str
|
File extension to search for (e.g., "dcm"). If |
None
|
Returns:
Type | Description |
---|---|
List[Path]
|
A list of valid DICOM file paths found in the directory. |
Notes
- If
check_header
is enabled, the function checks each file for a valid DICOM header, which may slow down the search process.
Examples:
Setup
Find DICOM files recursively without header validation:
>>> find_dicoms(Path('/data'), recursive=True, check_header=False)
[PosixPath('/data/scan1.dcm'), PosixPath('/data/subdir/scan2.dcm'), PosixPath('/data/subdir/scan3.dcm')]
Suppose that scan3.dcm
is not a valid DICOM file. Find DICOM files with header validation:
>>> find_dicoms(Path('/data'), recursive=True, check_header=True)
[PosixPath('/data/scan1.dcm'), PosixPath('/data/subdir/scan2.dcm')]
Find DICOM files without recursion: