This is a ChRIS plugin applications for image registration and re-slicing in Python.
This is a ChRIS plugin that registers a moving image onto a fixed image, and then re-slices the moving image in the fixed image space. The resultant re-sliced image is saved as a NIfTI file. The moving and fixed images can be of different patients.
A ChRIS plugin is a scientific data-processing software which can run anywhere all-the-same:
in the cloud via a web app, or on your own laptop
from the terminal. They are easy to build and easy to understand: most simply, a
ChRIS plugin is a command-line program which processes data from an input directory
and creates data to an output directory with the usage
commandname [options...] inputdir/ outputdir/
.
For more information, visit our website https://chrisproject.org
pl-image-register
is a ChRIS plugin to register a moving image onto a fixed image using rigid registration, then
saving the registered image and the transform matrix.
image_register --fixed_image standardized_images/standardized_t1_mri.nii.gz --moving_image john_doe/MRI_3.20.24/T1.nii.gz --registered_image john_doe/MRI_3.20.24/T1_reoriented.nii.gz --transform_matrix john_doe/MRI_3.20.24/T1_transform_matrix.mat
Here are some good, complete examples of ChRIS plugins created from this template.
- https://github.com/FNNDSC/pl-dcm2niix (basic command wrapper example)
- https://github.com/FNNDSC/pl-adapt_object_mesh (parallelizes a command)
- https://github.com/FNNDSC/pl-mri-preview (uses NiBabel)
- https://github.com/FNNDSC/pl-pyvista-volume (example using Python package project structure and pytest)
- https://github.com/FNNDSC/pl-fetal-cp-surface-extract (has a good README.md)
Path | Purpose |
---|---|
app.py |
Main scrip that runs the registration |
register.py |
Registration module that contains registration algorithms |
setup.py |
Python project metadata and installation script |
requirements.txt |
List of Python dependencies |
Dockerfile |
Container image build recipe |
.github/workflows/ci.yml |
"continuous integration" using Github Actions: automatic testing, building, and uploads to https://chrisstore.co |
The source code for the main
branch of this repository is on the
src
branch, which has an additional file
.github/workflows/src.yml
When tests pass, changes are automatically merged into main
.
Developers should commit to or make pull requests targeting src
.
Do not push directly to main
.
This is a workaround in order to do automatic testing of this template
without including the .github/workflows/src.yml
file in the template itself.