brainles-preprocessing 0.6.6__tar.gz → 0.6.8__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.
Files changed (124) hide show
  1. brainles_preprocessing-0.6.8/PKG-INFO +369 -0
  2. brainles_preprocessing-0.6.8/README.md +326 -0
  3. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/cli.py +14 -11
  4. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/pyproject.toml +1 -1
  5. brainles_preprocessing-0.6.6/PKG-INFO +0 -211
  6. brainles_preprocessing-0.6.6/README.md +0 -170
  7. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/LICENSE +0 -0
  8. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/__init__.py +0 -0
  9. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/brain_extraction/__init__.py +0 -0
  10. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/brain_extraction/brain_extractor.py +0 -0
  11. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/brain_extraction/synthstrip.py +0 -0
  12. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/brats/__init__.py +0 -0
  13. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/brats/t1_centric.py +0 -0
  14. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/brats/t1c_centric.py +0 -0
  15. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/constants.py +0 -0
  16. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/defacing/__init__.py +0 -0
  17. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/defacing/defacer.py +0 -0
  18. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/defacing/quickshear/__init__.py +0 -0
  19. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/defacing/quickshear/nipy_quickshear.py +0 -0
  20. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/defacing/quickshear/quickshear.py +0 -0
  21. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/modality.py +0 -0
  22. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/n4_bias_correction/__init__.py +0 -0
  23. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/n4_bias_correction/n4_bias_corrector.py +0 -0
  24. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/n4_bias_correction/sitk/__init__.py +0 -0
  25. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/n4_bias_correction/sitk/sitk_n4_bias_corrector.py +0 -0
  26. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/normalization/__init__.py +0 -0
  27. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/normalization/normalizer_base.py +0 -0
  28. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/normalization/percentile_normalizer.py +0 -0
  29. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/normalization/windowing_normalizer.py +0 -0
  30. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/preprocessor/__init__.py +0 -0
  31. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/preprocessor/atlas_centric_preprocessor.py +0 -0
  32. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/preprocessor/native_space_preprocessor.py +0 -0
  33. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/preprocessor/preprocessor.py +0 -0
  34. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/ANTs/ANTs.py +0 -0
  35. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/ANTs/TODO_ANTs_parameters.py +0 -0
  36. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/ANTs/__init__.py +0 -0
  37. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/__init__.py +0 -0
  38. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/elastix/__init__.py +0 -0
  39. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/elastix/elastix.py +0 -0
  40. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/greedy/__init__.py +0 -0
  41. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/greedy/greedy.py +0 -0
  42. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/__init__.py +0 -0
  43. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg.py +0 -0
  44. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/groupwise_niftyreg_params.sh +0 -0
  45. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/groupwise_niftyreg_run.sh +0 -0
  46. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/reg_aladin +0 -0
  47. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/reg_average +0 -0
  48. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/reg_f3d +0 -0
  49. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/reg_jacobian +0 -0
  50. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/reg_measure +0 -0
  51. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/reg_resample +0 -0
  52. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/reg_tools +0 -0
  53. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/bin/reg_transform +0 -0
  54. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/AffineDeformationFieldKernel.h +0 -0
  55. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/AladinContent.h +0 -0
  56. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/BlockMatchingKernel.h +0 -0
  57. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/CPUAffineDeformationFieldKernel.h +0 -0
  58. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/CPUBlockMatchingKernel.h +0 -0
  59. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/CPUConvolutionKernel.h +0 -0
  60. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/CPUKernelFactory.h +0 -0
  61. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/CPUOptimiseKernel.h +0 -0
  62. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/CPUResampleImageKernel.h +0 -0
  63. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/ConvolutionKernel.h +0 -0
  64. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/Kernel.h +0 -0
  65. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/KernelFactory.h +0 -0
  66. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/OptimiseKernel.h +0 -0
  67. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/Platform.h +0 -0
  68. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/ResampleImageKernel.h +0 -0
  69. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_ReadWriteImage.h +0 -0
  70. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_ReadWriteMatrix.h +0 -0
  71. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_aladin.cpp +0 -0
  72. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_aladin.h +0 -0
  73. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_aladin_sym.cpp +0 -0
  74. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_aladin_sym.h +0 -0
  75. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_base.h +0 -0
  76. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_blockMatching.h +0 -0
  77. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_dti.h +0 -0
  78. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_f3d.h +0 -0
  79. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_f3d2.h +0 -0
  80. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_f3d_sym.h +0 -0
  81. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_femTrans.h +0 -0
  82. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_globalTrans.h +0 -0
  83. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_kld.h +0 -0
  84. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_lncc.h +0 -0
  85. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_localTrans.h +0 -0
  86. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_localTrans_jac.h +0 -0
  87. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_localTrans_regul.h +0 -0
  88. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_macros.h +0 -0
  89. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_maths.h +0 -0
  90. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_maths_eigen.h +0 -0
  91. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_measure.h +0 -0
  92. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_mind.h +0 -0
  93. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_nmi.h +0 -0
  94. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_optimiser.cpp +0 -0
  95. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_optimiser.h +0 -0
  96. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_resampling.h +0 -0
  97. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_splineBasis.h +0 -0
  98. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_ssd.h +0 -0
  99. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_stringFormat.h +0 -0
  100. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/_reg_tools.h +0 -0
  101. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/nifti1.h +0 -0
  102. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/nifti1_io.h +0 -0
  103. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/png.h +0 -0
  104. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/pngconf.h +0 -0
  105. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/pngdebug.h +0 -0
  106. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/pnginfo.h +0 -0
  107. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/pnglibconf.h +0 -0
  108. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/pngpriv.h +0 -0
  109. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/pngstruct.h +0 -0
  110. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/readpng.h +0 -0
  111. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/reg_png.h +0 -0
  112. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/zlib.h +0 -0
  113. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/znzlib.h +0 -0
  114. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/niftyreg_1.5.68/include/zutil.h +0 -0
  115. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/reg_aladin +0 -0
  116. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/reg_resample +0 -0
  117. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/rigid_reg.sh +0 -0
  118. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/niftyreg/niftyreg_scripts/transform.sh +0 -0
  119. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/registration/registrator.py +0 -0
  120. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/transform.py +0 -0
  121. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/utils/__init__.py +0 -0
  122. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/utils/citation_reminder.py +0 -0
  123. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/utils/generic.py +0 -0
  124. {brainles_preprocessing-0.6.6 → brainles_preprocessing-0.6.8}/brainles_preprocessing/utils/zenodo.py +0 -0
@@ -0,0 +1,369 @@
1
+ Metadata-Version: 2.4
2
+ Name: brainles_preprocessing
3
+ Version: 0.6.8
4
+ Summary: Tool for preprocessing tasks in biomedical imaging, with a focus on (but not limited to) multi-modal brain MRI
5
+ License: Apache-2.0
6
+ License-File: LICENSE
7
+ Keywords: brain tumor,glioma,BraTS,skullstripping,brain extraction
8
+ Author: Florian Kofler
9
+ Author-email: florian.kofler@tum.de
10
+ Maintainer: Florian Kofler
11
+ Maintainer-email: florian.kofler@tum.de
12
+ Requires-Python: >=3.10,<4.0
13
+ Classifier: License :: OSI Approved :: Apache Software License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Programming Language :: Python :: 3.14
21
+ Provides-Extra: all
22
+ Provides-Extra: itk-elastix
23
+ Provides-Extra: picsl-greedy
24
+ Provides-Extra: synthstrip
25
+ Requires-Dist: antspyx (>=0.5.4,<1.0.0)
26
+ Requires-Dist: auxiliary (>=0.3.1)
27
+ Requires-Dist: brainles_hd_bet (>=0.0.10,<1.0.0)
28
+ Requires-Dist: itk-elastix (>=0.20.0,<0.21.0) ; extra == "all" or extra == "itk-elastix"
29
+ Requires-Dist: loguru (>=0.7.3,<0.8.0)
30
+ Requires-Dist: nibabel (>=3.2.1)
31
+ Requires-Dist: nipreps-synthstrip (>=0.0.1,<0.0.2) ; extra == "all" or extra == "synthstrip"
32
+ Requires-Dist: numpy (>=1.23.0,<2.0.0)
33
+ Requires-Dist: picsl_greedy (>=0.0.6,<0.0.7) ; extra == "all" or extra == "picsl-greedy"
34
+ Requires-Dist: rich (>=13.6.0,<14.0.0)
35
+ Requires-Dist: scipy (>=1.14,<2.0)
36
+ Requires-Dist: simpleitk (>=2.2.1)
37
+ Requires-Dist: tqdm (>=4.64.1,<5.0.0)
38
+ Requires-Dist: ttictoc (>=0.5.6,<0.6.0)
39
+ Requires-Dist: typer (>=0.15.0,<0.16.0)
40
+ Project-URL: Repository, https://github.com/BrainLesion/preprocessing
41
+ Description-Content-Type: text/markdown
42
+
43
+
44
+
45
+ # BrainLes-Preprocessing
46
+ [![Python Versions](https://img.shields.io/pypi/pyversions/brainles-preprocessing)](https://pypi.org/project/brainles-preprocessing/)
47
+ [![Stable Version](https://img.shields.io/pypi/v/brainles-preprocessing?label=stable)](https://pypi.python.org/pypi/brainles-preprocessing/)
48
+ [![Documentation Status](https://readthedocs.org/projects/brainles-preprocessing/badge/?version=latest)](http://brainles-preprocessing.readthedocs.io/?badge=latest)
49
+ [![tests](https://github.com/BrainLesion/preprocessing/actions/workflows/tests.yml/badge.svg)](https://github.com/BrainLesion/preprocessing/actions/workflows/tests.yml)
50
+ [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
51
+ <!-- [![codecov](https://codecov.io/gh/BrainLesion/brainles-preprocessing/graph/badge.svg?token=A7FWUKO9Y4)](https://codecov.io/gh/BrainLesion/brainles-preprocessing) -->
52
+
53
+ `BrainLes preprocessing` is a comprehensive, modular toolkit for preprocessing multi-modal brain MRI and other biomedical imaging data. It provides flexible preprocessing pipelines that can be customized to your specific needs.
54
+
55
+ ## Features
56
+
57
+ ### Core Preprocessing Steps
58
+ - **Normalization**: Intensity normalization using various methods (e.g., percentile-based)
59
+ - **Co-registration**: Align multiple modalities to a reference modality
60
+ - **Atlas Registration**: Register images to standard atlas spaces (MNI152, SRI24, etc.)
61
+ - **Brain Extraction**: Skull stripping using state-of-the-art methods (HD-BET, SynthStrip)
62
+ - **N4 Bias Correction**: Correct intensity inhomogeneities
63
+ - **Defacing**: Anonymize images by removing facial features
64
+
65
+ ### Preprocessing Modes
66
+ - **Atlas-Centric**: Process images in atlas space with optional atlas-based intensity correction
67
+ - **Native Space**: Process images in patient/native space without atlas registration
68
+
69
+ ### Key Benefits
70
+ - **Modular & Backend-Agnostic**: Easily swap or skip preprocessing steps and choose from multiple backends
71
+ - **Flexible Output Options**: Generate any combination of outputs (brain extracted, with skull, defaced, raw, normalized)
72
+ - **Bidirectional Transforms**: Transform images and segmentations between native and atlas space
73
+ - **Extensible**: Add custom normalizers, registrators, brain extractors, or defacing methods
74
+
75
+ <!-- TODO include image here -->
76
+
77
+
78
+ ## Installation
79
+
80
+ With a Python 3.10+ environment you can install directly from [pypi.org](https://pypi.org/project/brainles-preprocessing/):
81
+
82
+ ```
83
+ pip install brainles-preprocessing
84
+ ```
85
+
86
+ We recommend using Python `3.10 / 3.11 / 3.12`.
87
+
88
+ > [!NOTE]
89
+ > For python `3.13` the installation can currently fail with the error `Failed to build antspyx`.
90
+ > This usually means that there is no pre-built wheel for the package and it has to be build locally.
91
+ > This will require cmake (install e.g. with `pip install cmake`) and quite some time.
92
+ > Rerunning the installation with cmake installed should fix the error.
93
+
94
+
95
+ ## Usage
96
+
97
+ ### Atlas-Centric Preprocessing
98
+ Use `AtlasCentricPreprocessor` to register images to an atlas, perform atlas correction, and skull strip. This is useful when you want all images in a common atlas space.
99
+
100
+ **Key features:**
101
+ - Co-registration of moving modalities to center modality
102
+ - Registration to atlas space
103
+ - Optional atlas correction (intensity adjustment based on atlas)
104
+ - N4 bias correction
105
+ - Brain extraction
106
+ - Defacing for anonymization
107
+
108
+ **Example with all output options:**
109
+
110
+ This example demonstrates all possible output paths. You can specify any combination of:
111
+ - **Raw outputs** (without normalization): `raw_bet_output_path`, `raw_skull_output_path`, `raw_defaced_output_path`
112
+ - **Normalized outputs** (requires a normalizer): `normalized_bet_output_path`, `normalized_skull_output_path`, `normalized_defaced_output_path`
113
+ - **Masks** (only for CenterModality): `bet_mask_output_path`, `defacing_mask_output_path`
114
+
115
+ > **Note:** At least one output path must be specified per modality. All output paths are optional except that at least one must be provided.
116
+
117
+ ```python
118
+ from pathlib import Path
119
+ from brainles_preprocessing.modality import Modality, CenterModality
120
+ from brainles_preprocessing.normalization.percentile_normalizer import (
121
+ PercentileNormalizer,
122
+ )
123
+ from brainles_preprocessing.preprocessor import AtlasCentricPreprocessor
124
+
125
+ patient_folder = Path("/path/to/patient")
126
+ output_folder = Path("/path/to/output")
127
+
128
+ # specify a normalizer (required if using any normalized_* output paths)
129
+ percentile_normalizer = PercentileNormalizer(
130
+ lower_percentile=0.1,
131
+ upper_percentile=99.9,
132
+ lower_limit=0,
133
+ upper_limit=1,
134
+ )
135
+
136
+ # define center modality with all possible outputs
137
+ center = CenterModality(
138
+ modality_name="t1c", # required
139
+ input_path=patient_folder / "t1c.nii.gz", # required
140
+ normalizer=percentile_normalizer, # optional: required for normalized_* outputs
141
+ # Raw outputs (optional)
142
+ raw_bet_output_path=output_folder / "raw_bet/t1c_bet_raw.nii.gz", # brain extracted
143
+ raw_skull_output_path=output_folder / "raw_skull/t1c_skull_raw.nii.gz", # with skull
144
+ raw_defaced_output_path=output_folder / "raw_defaced/t1c_defaced_raw.nii.gz", # defaced
145
+ # Normalized outputs (optional, requires normalizer)
146
+ normalized_bet_output_path=output_folder / "normalized_bet/t1c_bet_normalized.nii.gz",
147
+ normalized_skull_output_path=output_folder / "normalized_skull/t1c_skull_normalized.nii.gz",
148
+ normalized_defaced_output_path=output_folder / "normalized_defaced/t1c_defaced_normalized.nii.gz",
149
+ # Masks (optional, only for CenterModality)
150
+ bet_mask_output_path=output_folder / "masks/t1c_bet_mask.nii.gz",
151
+ defacing_mask_output_path=output_folder / "masks/t1c_defacing_mask.nii.gz",
152
+ # Optional parameters
153
+ atlas_correction=True, # default: True
154
+ n4_bias_correction=False, # default: False
155
+ )
156
+
157
+ # define moving modalities
158
+ moving_modalities = [
159
+ Modality(
160
+ modality_name="flair", # required
161
+ input_path=patient_folder / "flair.nii.gz", # required
162
+ normalizer=percentile_normalizer, # optional: required for normalized_* outputs
163
+ # Raw outputs (optional)
164
+ raw_bet_output_path=output_folder / "raw_bet/flair_bet_raw.nii.gz",
165
+ raw_skull_output_path=output_folder / "raw_skull/flair_skull_raw.nii.gz",
166
+ raw_defaced_output_path=output_folder / "raw_defaced/flair_defaced_raw.nii.gz",
167
+ # Normalized outputs (optional, requires normalizer)
168
+ normalized_bet_output_path=output_folder / "normalized_bet/flair_bet_normalized.nii.gz",
169
+ normalized_skull_output_path=output_folder / "normalized_skull/flair_skull_normalized.nii.gz",
170
+ normalized_defaced_output_path=output_folder / "normalized_defaced/flair_defaced_normalized.nii.gz",
171
+ # Optional parameters
172
+ atlas_correction=True, # default: True
173
+ n4_bias_correction=False, # default: False
174
+ )
175
+ ]
176
+
177
+ # instantiate and run the preprocessor
178
+ preprocessor = AtlasCentricPreprocessor(
179
+ center_modality=center,
180
+ moving_modalities=moving_modalities,
181
+ # Optional: customize backends (defaults shown below)
182
+ # registrator=ANTsRegistrator(),
183
+ # brain_extractor=HDBetExtractor(),
184
+ # n4_bias_corrector=SitkN4BiasCorrector(),
185
+ # defacer=QuickshearDefacer(),
186
+ )
187
+
188
+ preprocessor.run(
189
+ # Optional: save intermediate results to these directories
190
+ save_dir_coregistration=output_folder / "coregistration",
191
+ save_dir_atlas_registration=output_folder / "atlas_registration",
192
+ save_dir_atlas_correction=output_folder / "atlas_correction",
193
+ save_dir_n4_bias_correction=output_folder / "n4_bias_correction",
194
+ save_dir_brain_extraction=output_folder / "brain_extraction",
195
+ save_dir_defacing=output_folder / "defacing",
196
+ )
197
+
198
+ ```
199
+
200
+ ### Native Space Preprocessing
201
+ Use `NativeSpacePreprocessor` to perform coregistration, N4 bias correction, brain extraction, and defacing while keeping images in native space (no atlas registration).
202
+
203
+ **Key features:**
204
+ - Co-registration of moving modalities to center modality
205
+ - N4 bias correction
206
+ - Brain extraction
207
+ - Defacing for anonymization
208
+ - **No atlas registration** - stays in native/patient space
209
+
210
+ **Example with all output options:**
211
+
212
+ This example demonstrates all possible output paths. You can specify any combination of:
213
+ - **Raw outputs** (without normalization): `raw_bet_output_path`, `raw_skull_output_path`, `raw_defaced_output_path`
214
+ - **Normalized outputs** (requires a normalizer): `normalized_bet_output_path`, `normalized_skull_output_path`, `normalized_defaced_output_path`
215
+ - **Masks** (only for CenterModality): `bet_mask_output_path`, `defacing_mask_output_path`
216
+
217
+ > **Note:** At least one output path must be specified per modality. All output paths are optional except that at least one must be provided.
218
+
219
+ ```python
220
+ from pathlib import Path
221
+ from brainles_preprocessing.modality import Modality, CenterModality
222
+ from brainles_preprocessing.normalization.percentile_normalizer import (
223
+ PercentileNormalizer,
224
+ )
225
+ from brainles_preprocessing.preprocessor import NativeSpacePreprocessor
226
+
227
+ patient_folder = Path("/path/to/patient")
228
+ output_folder = Path("/path/to/output")
229
+
230
+ # specify a normalizer (required if using any normalized_* output paths)
231
+ percentile_normalizer = PercentileNormalizer(
232
+ lower_percentile=0.1,
233
+ upper_percentile=99.9,
234
+ lower_limit=0,
235
+ upper_limit=1,
236
+ )
237
+
238
+ # define center modality with all possible outputs
239
+ center = CenterModality(
240
+ modality_name="t1c", # required
241
+ input_path=patient_folder / "t1c.nii.gz", # required
242
+ normalizer=percentile_normalizer, # optional: required for normalized_* outputs
243
+ # Raw outputs (optional)
244
+ raw_bet_output_path=output_folder / "raw_bet/t1c_bet_raw.nii.gz", # brain extracted
245
+ raw_skull_output_path=output_folder / "raw_skull/t1c_skull_raw.nii.gz", # with skull
246
+ raw_defaced_output_path=output_folder / "raw_defaced/t1c_defaced_raw.nii.gz", # defaced
247
+ # Normalized outputs (optional, requires normalizer)
248
+ normalized_bet_output_path=output_folder / "normalized_bet/t1c_bet_normalized.nii.gz",
249
+ normalized_skull_output_path=output_folder / "normalized_skull/t1c_skull_normalized.nii.gz",
250
+ normalized_defaced_output_path=output_folder / "normalized_defaced/t1c_defaced_normalized.nii.gz",
251
+ # Masks (optional, only for CenterModality)
252
+ bet_mask_output_path=output_folder / "masks/t1c_bet_mask.nii.gz",
253
+ defacing_mask_output_path=output_folder / "masks/t1c_defacing_mask.nii.gz",
254
+ # Optional parameters (not applicable for native space: no atlas_correction)
255
+ n4_bias_correction=False, # default: False
256
+ )
257
+
258
+ # define moving modalities
259
+ moving_modalities = [
260
+ Modality(
261
+ modality_name="flair", # required
262
+ input_path=patient_folder / "flair.nii.gz", # required
263
+ normalizer=percentile_normalizer, # optional: required for normalized_* outputs
264
+ # Raw outputs (optional)
265
+ raw_bet_output_path=output_folder / "raw_bet/flair_bet_raw.nii.gz",
266
+ raw_skull_output_path=output_folder / "raw_skull/flair_skull_raw.nii.gz",
267
+ raw_defaced_output_path=output_folder / "raw_defaced/flair_defaced_raw.nii.gz",
268
+ # Normalized outputs (optional, requires normalizer)
269
+ normalized_bet_output_path=output_folder / "normalized_bet/flair_bet_normalized.nii.gz",
270
+ normalized_skull_output_path=output_folder / "normalized_skull/flair_skull_normalized.nii.gz",
271
+ normalized_defaced_output_path=output_folder / "normalized_defaced/flair_defaced_normalized.nii.gz",
272
+ # Optional parameters (not applicable for native space: no atlas_correction)
273
+ n4_bias_correction=False, # default: False
274
+ )
275
+ ]
276
+
277
+ # instantiate and run the preprocessor
278
+ preprocessor = NativeSpacePreprocessor(
279
+ center_modality=center,
280
+ moving_modalities=moving_modalities,
281
+ # Optional: customize backends (defaults shown below)
282
+ # registrator=ANTsRegistrator(),
283
+ # brain_extractor=HDBetExtractor(),
284
+ # n4_bias_corrector=SitkN4BiasCorrector(),
285
+ # defacer=QuickshearDefacer(),
286
+ )
287
+
288
+ preprocessor.run(
289
+ # Optional: save intermediate results to these directories
290
+ save_dir_coregistration=output_folder / "coregistration",
291
+ save_dir_n4_bias_correction=output_folder / "n4_bias_correction",
292
+ save_dir_brain_extraction=output_folder / "brain_extraction",
293
+ save_dir_defacing=output_folder / "defacing",
294
+ )
295
+
296
+ ```
297
+
298
+
299
+ The package allows to choose registration backends, brain extraction tools and defacing methods.
300
+ An example notebook with 4 modalities and further outputs and customizations can be found following these badges:
301
+
302
+ [![nbviewer](https://raw.githubusercontent.com/jupyter/design/master/logos/Badges/nbviewer_badge.svg)](https://nbviewer.org/github/BrainLesion/tutorials/blob/main/preprocessing/preprocessing_tutorial.ipynb)
303
+ <a target="_blank" href="https://colab.research.google.com/github/BrainLesion/tutorials/blob/main/preprocessing/preprocessing_tutorial.ipynb">
304
+ <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/>
305
+ </a>
306
+
307
+ For further information please have a look at our [Jupyter Notebook tutorials](https://github.com/BrainLesion/tutorials/tree/main/preprocessing) in our tutorials repo (WIP).
308
+
309
+
310
+
311
+
312
+ ## Citation
313
+
314
+ > [!IMPORTANT]
315
+ > If you use `brainles-preprocessing` in your research, please cite it to support the development!
316
+
317
+ Kofler, F., Rosier, M., Astaraki, M., Möller, H., Mekki, I. I., Buchner, J. A., Schmick, A., Pfiffer, A., Oswald, E., Zimmer, L., Rosa, E. de la, Pati, S., Canisius, J., Piffer, A., Baid, U., Valizadeh, M., Linardos, A., Peeken, J. C., Shit, S., … Menze, B. (2025). *BrainLesion Suite: A Flexible and User-Friendly Framework for Modular Brain Lesion Image Analysis* [arXiv preprint arXiv:2507.09036](https://doi.org/10.48550/arXiv.2507.09036)
318
+
319
+
320
+ ```
321
+ @misc{kofler2025brainlesionsuiteflexibleuserfriendly,
322
+ title={BrainLesion Suite: A Flexible and User-Friendly Framework for Modular Brain Lesion Image Analysis},
323
+ author={Florian Kofler and Marcel Rosier and Mehdi Astaraki and Hendrik Möller and Ilhem Isra Mekki and Josef A. Buchner and Anton Schmick and Arianna Pfiffer and Eva Oswald and Lucas Zimmer and Ezequiel de la Rosa and Sarthak Pati and Julian Canisius and Arianna Piffer and Ujjwal Baid and Mahyar Valizadeh and Akis Linardos and Jan C. Peeken and Surprosanna Shit and Felix Steinbauer and Daniel Rueckert and Rolf Heckemann and Spyridon Bakas and Jan Kirschke and Constantin von See and Ivan Ezhov and Marie Piraud and Benedikt Wiestler and Bjoern Menze},
324
+ year={2025},
325
+ eprint={2507.09036},
326
+ archivePrefix={arXiv},
327
+ primaryClass={cs.CV},
328
+ url={https://arxiv.org/abs/2507.09036},
329
+ }
330
+ ```
331
+
332
+ ## Documentation
333
+ We provide a (WIP) documentation. Have a look [here](https://brainles-preprocessing.readthedocs.io/en/latest/?badge=latest)
334
+
335
+ ## FAQ
336
+ Please credit the authors by citing their work.
337
+
338
+ ### Registration
339
+ We currently fully support:
340
+ - [ANTs](https://github.com/ANTsX/ANTs) (default)
341
+ - [Niftyreg](https://github.com/KCL-BMEIS/niftyreg) (Linux)
342
+
343
+ We also offer basic support for:
344
+ - [greedy](https://greedy.readthedocs.io/en/latest/reference.html#greedy-usage) (Optional dependency, install via: `pip install brainles_preprocessing[picsl_greedy]`)
345
+ - [elastix](https://pypi.org/project/itk-elastix/0.13.0/) (Optional dependency, install via: `pip install brainles_preprocessing[itk-elastix]`)
346
+
347
+ As of now we do not offer inverse transforms for greedy and elastix. Please resort to ANTs or Niftyreg for this.
348
+
349
+ ### Atlas Reference
350
+ We provide a range of different atlases via [zenodo](https://zenodo.org/records/15927391), namely:
351
+ - [SRI24](https://www.nitrc.org/frs/download.php/4502/sri24_anatomy_unstripped_nifti.zip) and its [skull-stripped version](https://www.nitrc.org/frs/download.php/4499/sri24_anatomy_nifti.zip)
352
+ - MNI152: [MNI_ICBM_2009c_Nonlinear_Symmetric](https://nist.mni.mcgill.ca/icbm-152-nonlinear-atlases-2009/)
353
+ - Slightly modified MNI152 and SRI24 atlas versions as employed for the [BraTS challenge algorithms](https://github.com/BrainLesion/BraTS)
354
+
355
+ > [!NOTE]
356
+ > Custom atlases of your choice in NIfTI format are also supported
357
+
358
+
359
+ ### N4 Bias correction
360
+ We currently provide support for N4 Bias correction based on [SimpleITK](https://simpleitk.org/)
361
+
362
+ ### Brain extraction
363
+ We currently support:
364
+ - [HD-BET](https://github.com/MIC-DKFZ/HD-BET)
365
+ - [SynthStrip](https://surfer.nmr.mgh.harvard.edu/docs/synthstrip/) (Optional dependency, install via: `pip install brainles_preprocessing[synthstrip]`)
366
+
367
+ ### Defacing
368
+ We currently provide support for [Quickshear](https://github.com/nipy/quickshear).
369
+