A 3D Slicer extension for extracting spatial frequency information from medical images. Given an airway RECIST measurement and a CT scan, it computes the energy fraction in a frequency band defined by an MTF curve — useful for characterizing lung tissue, airways, and other small structures. This is currently used for partial volume averaging quantification in CT.
- CMake >= 3.20
- ITK >= 5.0
- SlicerExecutionModel
- C++17 compiler
git clone https://github.com/JakeKitzmann/FrequencyAnalysis
cd FrequencyAnalysis
mkdir build && cd build
cmake ..
makeThe executable will be at build/bin/FrequencyAnalysis.
FrequencyAnalysis --inputImageName <path> --inputCSVName <path> --outPath <path> [options]
| Flag | Type | Description |
|---|---|---|
--inputImageName |
string | Path to the input CT volume (.nii.gz) |
--inputCSVName |
string | Path to the MTF curve CSV file |
--outPath |
string | Output path for results CSV |
--slice |
int | Axial slice index of the RECIST measurement |
--aR |
float | R (right) RAS coordinate of first RECIST point |
--aA |
float | A (anterior) RAS coordinate of first RECIST point |
--bR |
float | R (right) RAS coordinate of second RECIST point |
--bA |
float | A (anterior) RAS coordinate of second RECIST point |
--modLow |
float | Low modulation bound for frequency band (0–1) |
--modHigh |
float | High modulation bound for frequency band (0–1) |
--roiMult |
float | RECIST distance multiplier for ROI size (default: 1.0) |
--outputImages |
bool | Write intermediate images to disk (default: false) |
After cloning, install the pre-commit hook to automatically run tests before each commit:
sh scripts/setup-hooks.shTests are built by default and can be run with:
ctest --test-dir build --output-on-failureTo build without tests:
cmake .. -DBUILD_TESTING=OFFThis tool is free to use and publish with. If it aided your research, please cite:
Jacob J. Kitzmann, BSE — The University of Iowa College of Engineering (publication citation pending)
- Figure out why RAS / LPS is inconsistent across platforms
- Windows compatibility
- Run without MTF curve (user-specified spatial frequencies)
Test driven development