**Key Features**
1. **DICOM File Organization**:
- The tool scans a root folder recursively for DICOM files.
- It organizes the files into a user-defined folder structure based on DICOM metadata.
- The folder structure is customizable using placeholders (e.g., `%i` for patient ID, `%t` for exam date).
2. **Metadata Extraction**:
- Extracts key metadata from DICOM files, such as patient ID, study date, series description, and more.
- Metadata is sanitized to ensure compatibility with file systems (e.g., replacing non-alphanumeric characters with underscores).
3. **CSV Report Generation**:
- Optionally generates a CSV report summarizing the metadata of all processed DICOM files.
- The report includes columns such as `SubjectID`, `ExamDate`, `ExamID`, `SeriesID`, and `SeriesDescription`.
4. **Parallel Processing**:
- Uses Python's `concurrent.futures.ThreadPoolExecutor` to process multiple DICOM files in parallel, improving performance for large datasets.
5. **Command-Line Interface (CLI)**:
- Provides a CLI for easy usage with the following arguments:
- `-i` / `--input`: Path to the root folder containing DICOM files (required).
- `-o` / `--output`: Path to the destination folder for organized files (required).
- `-r` / `--report`: Path to save the CSV report (optional).
- `-f` / `--folder-structure`: Custom folder structure using placeholders (optional, default: `%i/%x_%t/%s_%d`).
6. **Error Handling**:
- Skips files that cannot be processed and logs the errors to the console.
- Handles invalid folder structure keys gracefully.
---
**Future Improvements**
1. **GUI**:
- Develop a graphical user interface for non-technical users.