brainles-preprocessing 0.6.4__tar.gz → 0.6.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/PKG-INFO +1 -1
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/modality.py +26 -12
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/normalization/normalizer_base.py +2 -1
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/normalization/percentile_normalizer.py +2 -1
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/normalization/windowing_normalizer.py +2 -1
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/preprocessor/atlas_centric_preprocessor.py +29 -24
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/ANTs/ANTs.py +15 -3
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg.py +11 -1
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/rigid_reg.sh +4 -2
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/transform.sh +4 -2
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/registrator.py +2 -2
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/pyproject.toml +1 -1
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/LICENSE +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/README.md +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/__init__.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/brain_extraction/__init__.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/brain_extraction/brain_extractor.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/brain_extraction/synthstrip.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/brats/__init__.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/brats/t1_centric.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/brats/t1c_centric.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/cli.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/constants.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/defacing/__init__.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/defacing/defacer.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/defacing/quickshear/__init__.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/defacing/quickshear/nipy_quickshear.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/defacing/quickshear/quickshear.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/n4_bias_correction/__init__.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/n4_bias_correction/n4_bias_corrector.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/n4_bias_correction/sitk/__init__.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/n4_bias_correction/sitk/sitk_n4_bias_corrector.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/normalization/__init__.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/preprocessor/__init__.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/preprocessor/native_space_preprocessor.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/preprocessor/preprocessor.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/ANTs/TODO_ANTs_parameters.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/ANTs/__init__.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/__init__.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/elastix/__init__.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/elastix/elastix.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/greedy/__init__.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/greedy/greedy.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/__init__.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/groupwise_niftyreg_params.sh +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/groupwise_niftyreg_run.sh +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/reg_aladin +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/reg_average +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/reg_f3d +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/reg_jacobian +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/reg_measure +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/reg_resample +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/reg_tools +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/reg_transform +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/AffineDeformationFieldKernel.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/AladinContent.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/BlockMatchingKernel.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/CPUAffineDeformationFieldKernel.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/CPUBlockMatchingKernel.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/CPUConvolutionKernel.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/CPUKernelFactory.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/CPUOptimiseKernel.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/CPUResampleImageKernel.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/ConvolutionKernel.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/Kernel.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/KernelFactory.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/OptimiseKernel.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/Platform.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/ResampleImageKernel.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_ReadWriteImage.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_ReadWriteMatrix.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_aladin.cpp +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_aladin.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_aladin_sym.cpp +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_aladin_sym.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_base.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_blockMatching.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_dti.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_f3d.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_f3d2.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_f3d_sym.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_femTrans.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_globalTrans.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_kld.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_lncc.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_localTrans.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_localTrans_jac.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_localTrans_regul.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_macros.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_maths.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_maths_eigen.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_measure.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_mind.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_nmi.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_optimiser.cpp +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_optimiser.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_resampling.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_splineBasis.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_ssd.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_stringFormat.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_tools.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/nifti1.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/nifti1_io.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/png.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/pngconf.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/pngdebug.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/pnginfo.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/pnglibconf.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/pngpriv.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/pngstruct.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/readpng.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/reg_png.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/zlib.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/znzlib.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/zutil.h +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/reg_aladin +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/reg_resample +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/transform.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/utils/__init__.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/utils/citation_reminder.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/utils/generic.py +0 -0
- {brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/utils/zenodo.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: brainles_preprocessing
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.6
|
|
4
4
|
Summary: Tool for preprocessing tasks in biomedical imaging, with a focus on (but not limited to) multi-modal brain MRI
|
|
5
5
|
License: Apache-2.0
|
|
6
6
|
Keywords: brain tumor,glioma,BraTS,skullstripping,brain extraction
|
{brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/modality.py
RENAMED
|
@@ -139,7 +139,9 @@ class Modality:
|
|
|
139
139
|
else:
|
|
140
140
|
self.normalized_defaced_output_path = None
|
|
141
141
|
|
|
142
|
-
self.steps
|
|
142
|
+
self.steps: Dict[PreprocessorSteps, Path | None] = {
|
|
143
|
+
k: None for k in PreprocessorSteps
|
|
144
|
+
}
|
|
143
145
|
self.steps[PreprocessorSteps.INPUT] = self.input_path
|
|
144
146
|
|
|
145
147
|
@property
|
|
@@ -265,7 +267,7 @@ class Modality:
|
|
|
265
267
|
moving_image_path=self.current,
|
|
266
268
|
transformed_image_path=registered,
|
|
267
269
|
matrix_path=registered_matrix,
|
|
268
|
-
log_file_path=registered_log,
|
|
270
|
+
log_file_path=str(registered_log),
|
|
269
271
|
)
|
|
270
272
|
self.current = registered
|
|
271
273
|
self.steps[step] = registered
|
|
@@ -394,24 +396,24 @@ class Modality:
|
|
|
394
396
|
), "Coregistration must be performed before applying atlas registration."
|
|
395
397
|
|
|
396
398
|
registrator.transform(
|
|
397
|
-
fixed_image_path=fixed_image_path,
|
|
398
|
-
moving_image_path=self.steps[PreprocessorSteps.INPUT],
|
|
399
|
-
transformed_image_path=transformed,
|
|
399
|
+
fixed_image_path=str(fixed_image_path),
|
|
400
|
+
moving_image_path=str(self.steps[PreprocessorSteps.INPUT]),
|
|
401
|
+
transformed_image_path=str(transformed),
|
|
400
402
|
matrix_path=[
|
|
401
403
|
self.transformation_paths[
|
|
402
404
|
PreprocessorSteps.COREGISTERED
|
|
403
405
|
], # coregistration matrix
|
|
404
406
|
transformation_matrix_path, # atlas registration matrix
|
|
405
407
|
],
|
|
406
|
-
log_file_path=transformed_log,
|
|
408
|
+
log_file_path=str(transformed_log),
|
|
407
409
|
)
|
|
408
410
|
else:
|
|
409
411
|
registrator.transform(
|
|
410
|
-
fixed_image_path=fixed_image_path,
|
|
411
|
-
moving_image_path=self.current,
|
|
412
|
-
transformed_image_path=transformed,
|
|
413
|
-
matrix_path=transformation_matrix_path,
|
|
414
|
-
log_file_path=transformed_log,
|
|
412
|
+
fixed_image_path=str(fixed_image_path),
|
|
413
|
+
moving_image_path=str(self.current),
|
|
414
|
+
transformed_image_path=str(transformed),
|
|
415
|
+
matrix_path=str(transformation_matrix_path),
|
|
416
|
+
log_file_path=str(transformed_log),
|
|
415
417
|
)
|
|
416
418
|
|
|
417
419
|
self.current = transformed
|
|
@@ -638,6 +640,12 @@ class CenterModality(Modality):
|
|
|
638
640
|
|
|
639
641
|
if self.bet:
|
|
640
642
|
self.current = bet
|
|
643
|
+
|
|
644
|
+
if self.bet_mask_output_path:
|
|
645
|
+
self.save_mask(
|
|
646
|
+
mask_path=mask_path,
|
|
647
|
+
output_path=self.bet_mask_output_path,
|
|
648
|
+
)
|
|
641
649
|
return mask_path
|
|
642
650
|
|
|
643
651
|
def deface(
|
|
@@ -684,7 +692,7 @@ class CenterModality(Modality):
|
|
|
684
692
|
moving_image_path=self.steps[PreprocessorSteps.BET],
|
|
685
693
|
transformed_image_path=atlas_bet,
|
|
686
694
|
matrix_path=atlas_bet_M,
|
|
687
|
-
log_file_path=defaced_dir_path / "atlas_bet.log",
|
|
695
|
+
log_file_path=str(defaced_dir_path / "atlas_bet.log"),
|
|
688
696
|
)
|
|
689
697
|
|
|
690
698
|
deface_mask_atlas = defaced_dir_path / "deface_mask_atlas.nii.gz"
|
|
@@ -706,6 +714,12 @@ class CenterModality(Modality):
|
|
|
706
714
|
mask_image_path=mask_path,
|
|
707
715
|
)
|
|
708
716
|
|
|
717
|
+
if self.defacing_mask_output_path:
|
|
718
|
+
self.save_mask(
|
|
719
|
+
mask_path=mask_path,
|
|
720
|
+
output_path=self.defacing_mask_output_path,
|
|
721
|
+
)
|
|
722
|
+
|
|
709
723
|
return mask_path
|
|
710
724
|
else:
|
|
711
725
|
logger.warning(
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from abc import ABC, abstractmethod
|
|
2
|
+
from numpy.typing import NDArray
|
|
2
3
|
|
|
3
4
|
|
|
4
5
|
class Normalizer(ABC):
|
|
@@ -10,7 +11,7 @@ class Normalizer(ABC):
|
|
|
10
11
|
super().__init__()
|
|
11
12
|
|
|
12
13
|
@abstractmethod
|
|
13
|
-
def normalize(self, image):
|
|
14
|
+
def normalize(self, image) -> NDArray:
|
|
14
15
|
"""
|
|
15
16
|
Normalize the input image based on the chosen method.
|
|
16
17
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import numpy as np
|
|
2
2
|
from .normalizer_base import Normalizer
|
|
3
|
+
from numpy.typing import NDArray
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
class PercentileNormalizer(Normalizer):
|
|
@@ -29,7 +30,7 @@ class PercentileNormalizer(Normalizer):
|
|
|
29
30
|
self.lower_limit = lower_limit
|
|
30
31
|
self.upper_limit = upper_limit
|
|
31
32
|
|
|
32
|
-
def normalize(self, image: np.ndarray):
|
|
33
|
+
def normalize(self, image: np.ndarray) -> NDArray:
|
|
33
34
|
"""
|
|
34
35
|
Normalize the input image using percentile-based mapping.
|
|
35
36
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import numpy as np
|
|
2
2
|
from .normalizer_base import Normalizer
|
|
3
|
+
from numpy.typing import NDArray
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
class WindowingNormalizer(Normalizer):
|
|
@@ -19,7 +20,7 @@ class WindowingNormalizer(Normalizer):
|
|
|
19
20
|
self.center = center
|
|
20
21
|
self.width = width
|
|
21
22
|
|
|
22
|
-
def normalize(self, image):
|
|
23
|
+
def normalize(self, image) -> NDArray:
|
|
23
24
|
"""
|
|
24
25
|
Normalize the input image using windowing.
|
|
25
26
|
|
|
@@ -323,29 +323,34 @@ class AtlasCentricPreprocessor(BasePreprocessor):
|
|
|
323
323
|
atlas_mask = self.center_modality.deface(
|
|
324
324
|
defacer=self.defacer, defaced_dir_path=deface_dir
|
|
325
325
|
)
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
mask_path=atlas_mask,
|
|
332
|
-
deface_dir=deface_dir,
|
|
333
|
-
)
|
|
334
|
-
|
|
335
|
-
self._save_output(
|
|
336
|
-
src=deface_dir,
|
|
337
|
-
save_dir=save_dir_defacing,
|
|
338
|
-
)
|
|
339
|
-
# now we save images that are skull-stripped
|
|
340
|
-
logger.info("Saving defaced images...")
|
|
341
|
-
for modality in self.all_modalities:
|
|
342
|
-
if modality.raw_defaced_output_path:
|
|
343
|
-
modality.save_current_image(
|
|
344
|
-
modality.raw_defaced_output_path,
|
|
345
|
-
normalization=False,
|
|
326
|
+
if atlas_mask is not None:
|
|
327
|
+
# looping over _all_ modalities since .deface is no applying the computed mask
|
|
328
|
+
for moving_modality in self.all_modalities:
|
|
329
|
+
logger.info(
|
|
330
|
+
f"Applying deface mask to {moving_modality.modality_name}..."
|
|
346
331
|
)
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
332
|
+
moving_modality.apply_deface_mask(
|
|
333
|
+
defacer=self.defacer,
|
|
334
|
+
mask_path=atlas_mask,
|
|
335
|
+
deface_dir=deface_dir,
|
|
351
336
|
)
|
|
337
|
+
|
|
338
|
+
self._save_output(
|
|
339
|
+
src=deface_dir,
|
|
340
|
+
save_dir=save_dir_defacing,
|
|
341
|
+
)
|
|
342
|
+
# now we save images that are skull-stripped
|
|
343
|
+
logger.info("Saving defaced images...")
|
|
344
|
+
for modality in self.all_modalities:
|
|
345
|
+
if modality.raw_defaced_output_path:
|
|
346
|
+
modality.save_current_image(
|
|
347
|
+
modality.raw_defaced_output_path,
|
|
348
|
+
normalization=False,
|
|
349
|
+
)
|
|
350
|
+
if modality.normalized_defaced_output_path:
|
|
351
|
+
modality.save_current_image(
|
|
352
|
+
modality.normalized_defaced_output_path,
|
|
353
|
+
normalization=True,
|
|
354
|
+
)
|
|
355
|
+
else:
|
|
356
|
+
logger.warning("Defacing was requested but no defacing mask was created.")
|
|
@@ -101,24 +101,30 @@ class ANTsRegistrator(Registrator):
|
|
|
101
101
|
|
|
102
102
|
fixed_image = ants.image_read(str(fixed_image_path))
|
|
103
103
|
moving_image = ants.image_read(str(moving_image_path))
|
|
104
|
+
|
|
104
105
|
registration_result = ants.registration(
|
|
105
106
|
fixed=fixed_image,
|
|
106
107
|
moving=moving_image,
|
|
107
108
|
**registration_kwargs,
|
|
108
109
|
)
|
|
109
|
-
transformed_image = registration_result["warpedmovout"]
|
|
110
110
|
|
|
111
111
|
# Ensure output directories exist
|
|
112
112
|
transformed_image_path.parent.mkdir(parents=True, exist_ok=True)
|
|
113
113
|
matrix_path.parent.mkdir(parents=True, exist_ok=True)
|
|
114
114
|
|
|
115
|
-
ants.image_write(transformed_image, str(transformed_image_path))
|
|
116
|
-
|
|
117
115
|
shutil.copyfile(
|
|
118
116
|
src=registration_result["fwdtransforms"][0],
|
|
119
117
|
dst=str(matrix_path),
|
|
120
118
|
)
|
|
121
119
|
|
|
120
|
+
self.transform(
|
|
121
|
+
fixed_image_path=fixed_image_path,
|
|
122
|
+
moving_image_path=moving_image_path,
|
|
123
|
+
transformed_image_path=transformed_image_path,
|
|
124
|
+
matrix_path=matrix_path,
|
|
125
|
+
log_file_path=log_file_path,
|
|
126
|
+
)
|
|
127
|
+
|
|
122
128
|
end_time = datetime.datetime.now()
|
|
123
129
|
|
|
124
130
|
# TODO nicer logging
|
|
@@ -147,6 +153,7 @@ class ANTsRegistrator(Registrator):
|
|
|
147
153
|
) -> None:
|
|
148
154
|
"""
|
|
149
155
|
Apply a transformation using ANTs.
|
|
156
|
+
By default the padding value corresponds to the minimum of the moving image. Can be adjusted using the defaultvalue parameter.
|
|
150
157
|
|
|
151
158
|
Args:
|
|
152
159
|
fixed_image_path (str or Path): Path to the fixed image.
|
|
@@ -195,6 +202,11 @@ class ANTsRegistrator(Registrator):
|
|
|
195
202
|
fixed_image = ants.image_read(str(fixed_image_path))
|
|
196
203
|
moving_image = ants.image_read(str(moving_image_path))
|
|
197
204
|
|
|
205
|
+
if "defaultvalue" not in transform_kwargs:
|
|
206
|
+
transform_kwargs["defaultvalue"] = (
|
|
207
|
+
moving_image.min()
|
|
208
|
+
) # set out of view voxels by default to min value, i.e. air/ bg
|
|
209
|
+
|
|
198
210
|
# Ensure output directory exist
|
|
199
211
|
transformed_image_path.parent.mkdir(parents=True, exist_ok=True)
|
|
200
212
|
|
|
@@ -8,6 +8,7 @@ from typing import List
|
|
|
8
8
|
import numpy as np
|
|
9
9
|
from auxiliary.runscript import ScriptRunner
|
|
10
10
|
from auxiliary.turbopath import turbopath
|
|
11
|
+
from auxiliary.io import read_image
|
|
11
12
|
|
|
12
13
|
from brainles_preprocessing.registration.registrator import Registrator
|
|
13
14
|
|
|
@@ -79,12 +80,16 @@ class NiftyRegRegistrator(Registrator):
|
|
|
79
80
|
|
|
80
81
|
matrix_path = Path(matrix_path).with_suffix(".txt")
|
|
81
82
|
|
|
83
|
+
# read moving image to get padding value
|
|
84
|
+
padding_value = float(read_image(moving_image_path).min())
|
|
85
|
+
|
|
82
86
|
input_params = [
|
|
83
87
|
turbopath(niftyreg_executable),
|
|
84
88
|
turbopath(fixed_image_path),
|
|
85
89
|
turbopath(moving_image_path),
|
|
86
90
|
turbopath(transformed_image_path),
|
|
87
91
|
str(matrix_path),
|
|
92
|
+
str(padding_value),
|
|
88
93
|
]
|
|
89
94
|
|
|
90
95
|
# Call the run method to execute the script and capture the output in the log file
|
|
@@ -155,6 +160,7 @@ class NiftyRegRegistrator(Registrator):
|
|
|
155
160
|
) -> None:
|
|
156
161
|
"""
|
|
157
162
|
Apply a transformation using NiftyReg.
|
|
163
|
+
By default the padding value corresponds to the minimum of the moving image.
|
|
158
164
|
|
|
159
165
|
Args:
|
|
160
166
|
fixed_image_path (str): Path to the fixed image.
|
|
@@ -199,13 +205,17 @@ class NiftyRegRegistrator(Registrator):
|
|
|
199
205
|
else:
|
|
200
206
|
transform_path = Path(matrix_path).with_suffix(".txt")
|
|
201
207
|
|
|
208
|
+
# read moving image to get padding value
|
|
209
|
+
padding_value = float(read_image(moving_image_path).min())
|
|
210
|
+
|
|
202
211
|
input_params = [
|
|
203
212
|
turbopath(niftyreg_executable),
|
|
204
213
|
turbopath(fixed_image_path),
|
|
205
214
|
turbopath(moving_image_path),
|
|
206
215
|
turbopath(transformed_image_path),
|
|
207
216
|
str(transform_path),
|
|
208
|
-
interpolator, # interpolation method, 3 is Cubic
|
|
217
|
+
str(interpolator), # interpolation method, 3 is Cubic
|
|
218
|
+
str(padding_value),
|
|
209
219
|
]
|
|
210
220
|
|
|
211
221
|
# Call the run method to execute the script and capture the output in the log file
|
|
@@ -10,8 +10,8 @@ file_exists() {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
# Check if the correct number of arguments is provided
|
|
13
|
-
if [ "$#" -ne
|
|
14
|
-
echo "Usage: $0 <niftyreg_executable> <fixed_image> <moving_image> <transformed_image> <transformation_matrix>"
|
|
13
|
+
if [ "$#" -ne 6 ]; then
|
|
14
|
+
echo "Usage: $0 <niftyreg_executable> <fixed_image> <moving_image> <transformed_image> <transformation_matrix> <padding_value>"
|
|
15
15
|
exit 1
|
|
16
16
|
fi
|
|
17
17
|
|
|
@@ -21,6 +21,7 @@ fixed_image="$2"
|
|
|
21
21
|
moving_image="$3"
|
|
22
22
|
transformed_image="$4"
|
|
23
23
|
transformation_matrix="$5"
|
|
24
|
+
padding_value="$6"
|
|
24
25
|
|
|
25
26
|
# Validate the existence of input files
|
|
26
27
|
if ! file_exists "$fixed_image"; then
|
|
@@ -41,6 +42,7 @@ registration_options=(
|
|
|
41
42
|
"-flo" "$moving_image"
|
|
42
43
|
"-res" "$transformed_image"
|
|
43
44
|
"-aff" "$transformation_matrix"
|
|
45
|
+
"-pad" "$padding_value"
|
|
44
46
|
)
|
|
45
47
|
|
|
46
48
|
# Perform rigid-only registration with NiftyReg
|
|
@@ -10,8 +10,8 @@ file_exists() {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
# Check if the correct number of arguments is provided
|
|
13
|
-
if [ "$#" -ne
|
|
14
|
-
echo "Usage: $0 <niftyreg_executable> <fixed_image> <moving_image> <transformed_image> <transformation_matrix> <interpolation_method>"
|
|
13
|
+
if [ "$#" -ne 7 ]; then
|
|
14
|
+
echo "Usage: $0 <niftyreg_executable> <fixed_image> <moving_image> <transformed_image> <transformation_matrix> <interpolation_method> <padding_value>"
|
|
15
15
|
exit 1
|
|
16
16
|
fi
|
|
17
17
|
|
|
@@ -22,6 +22,7 @@ moving_image="$3"
|
|
|
22
22
|
transformed_image="$4"
|
|
23
23
|
transformation_matrix="$5"
|
|
24
24
|
interpolation_method="$6"
|
|
25
|
+
padding_value="$7"
|
|
25
26
|
|
|
26
27
|
# Validate the existence of input files
|
|
27
28
|
if ! file_exists "$fixed_image"; then
|
|
@@ -51,6 +52,7 @@ resample_command=(
|
|
|
51
52
|
-trans "$transformation_matrix"
|
|
52
53
|
-res "$transformed_image"
|
|
53
54
|
-inter "$interpolation_method"
|
|
55
|
+
-pad "$padding_value"
|
|
54
56
|
)
|
|
55
57
|
|
|
56
58
|
if file_exists "$niftyreg_path"; then
|
|
@@ -36,7 +36,7 @@ class Registrator(ABC):
|
|
|
36
36
|
transformed_image_path: Any,
|
|
37
37
|
matrix_path: Any,
|
|
38
38
|
log_file_path: str,
|
|
39
|
-
interpolator: str,
|
|
39
|
+
interpolator: str = "default",
|
|
40
40
|
**kwargs
|
|
41
41
|
):
|
|
42
42
|
"""
|
|
@@ -61,7 +61,7 @@ class Registrator(ABC):
|
|
|
61
61
|
transformed_image_path: Any,
|
|
62
62
|
matrix_path: Any,
|
|
63
63
|
log_file_path: str,
|
|
64
|
-
interpolator: str,
|
|
64
|
+
interpolator: str = "default",
|
|
65
65
|
):
|
|
66
66
|
"""
|
|
67
67
|
Abstract method for inverse transforming images.
|
|
@@ -14,7 +14,7 @@ exclude = [
|
|
|
14
14
|
]
|
|
15
15
|
|
|
16
16
|
name = "brainles_preprocessing"
|
|
17
|
-
version = "0.6.
|
|
17
|
+
version = "0.6.6" # will be overwritten by poetry-dynamic-versioning but needs to be set
|
|
18
18
|
description = "Tool for preprocessing tasks in biomedical imaging, with a focus on (but not limited to) multi-modal brain MRI"
|
|
19
19
|
license = "Apache-2.0"
|
|
20
20
|
|
|
File without changes
|
|
File without changes
|
{brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/constants.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/transform.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{brainles_preprocessing-0.6.4 → brainles_preprocessing-0.6.6}/brainles_preprocessing/utils/zenodo.py
RENAMED
|
File without changes
|