Complex K-Space Deep Learning Network for Mouse Brain MR Image Denoising
This is Complex k-space UNet, a variant of the UNet architecture specifically designed for processing complex-valued data, such as data from magnetic resonance imaging (MRI) scans. In MRI, the raw data is collected in the k-space domain, which is a complex-valued representation of the spatial frequency information in the image. The complex k-space UNet is trained to take as input a complex-valued k-space image and output a segmentation mask in the image space.
Data was acquired from Professor Jia Guo at Columbia University
Total number of trainable parameters: 1,925,988
Loss curve
Evaluation curves
Test Results
The table above displays results on test dataset consisting of 1008 samples. For all evaluation metrics, we observe that the similarity scores increased. This means the predicted MR images are closer to the ground truth than the input images. Hence, the model succeeded in denoising the input images.
Here, PSNR: Peak Signal to Noise Ratio, PCC: Pearson Correlation Coefficient, SSIM: Structural Similarity Index, SCC: Spearman Correlation Coefficient
Notebooks
The notebooks may be viewed in the following order:
-
explore-data.ipynb - Explore data and visualize MR Images
-
unet-train.ipynb - Train UNet
-
inference.ipynb - Inference on test dataset using the trained model
Future Work
Benchmark against other approaches
cd MRI-Denoising
conda env create -f environment.yml
conda activate ctorch
pip install -e src/complex-torch
Including the optional -e flag will install package in "editable" mode, meaning that instead of copying the files into your virtual environment, a symlink will be created to the files where they are.
python -m ctorch fetch
Requires AWS credentials. Please email me vt2353@columbia.edu for access.
jupyter notebook notebooks/
You can now use the jupyter server or ctorch
kernel to run notebooks.