mediml 0.9.9__tar.gz → 0.9.10__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 (79) hide show
  1. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/__init__.py +1 -1
  2. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/wrangling/DataManager.py +40 -13
  3. {mediml-0.9.9 → mediml-0.9.10}/PKG-INFO +11 -10
  4. {mediml-0.9.9 → mediml-0.9.10}/README.md +6 -6
  5. {mediml-0.9.9 → mediml-0.9.10}/pyproject.toml +1 -1
  6. mediml-0.9.9/setup.py +0 -67
  7. {mediml-0.9.9 → mediml-0.9.10}/LICENSE.md +0 -0
  8. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/MEDscan.py +0 -0
  9. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/BatchExtractor.py +0 -0
  10. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/BatchExtractorTexturalFilters.py +0 -0
  11. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/__init__.py +0 -0
  12. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/diagnostics.py +0 -0
  13. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/get_oriented_bound_box.py +0 -0
  14. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/glcm.py +0 -0
  15. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/gldzm.py +0 -0
  16. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/glrlm.py +0 -0
  17. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/glszm.py +0 -0
  18. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/int_vol_hist.py +0 -0
  19. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/intensity_histogram.py +0 -0
  20. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/local_intensity.py +0 -0
  21. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/morph.py +0 -0
  22. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/ngldm.py +0 -0
  23. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/ngtdm.py +0 -0
  24. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/stats.py +0 -0
  25. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/biomarkers/utils.py +0 -0
  26. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/filters/TexturalFilter.py +0 -0
  27. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/filters/__init__.py +0 -0
  28. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/filters/apply_filter.py +0 -0
  29. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/filters/gabor.py +0 -0
  30. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/filters/laws.py +0 -0
  31. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/filters/log.py +0 -0
  32. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/filters/mean.py +0 -0
  33. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/filters/textural_filters_kernels.py +0 -0
  34. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/filters/utils.py +0 -0
  35. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/filters/wavelet.py +0 -0
  36. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/learning/DataCleaner.py +0 -0
  37. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/learning/DesignExperiment.py +0 -0
  38. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/learning/FSR.py +0 -0
  39. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/learning/Normalization.py +0 -0
  40. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/learning/RadiomicsLearner.py +0 -0
  41. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/learning/Results.py +0 -0
  42. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/learning/Stats.py +0 -0
  43. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/learning/__init__.py +0 -0
  44. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/learning/cleaning_utils.py +0 -0
  45. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/learning/ml_utils.py +0 -0
  46. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/processing/__init__.py +0 -0
  47. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/processing/compute_suv_map.py +0 -0
  48. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/processing/discretisation.py +0 -0
  49. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/processing/interpolation.py +0 -0
  50. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/processing/resegmentation.py +0 -0
  51. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/processing/segmentation.py +0 -0
  52. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/__init__.py +0 -0
  53. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/batch_patients.py +0 -0
  54. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/create_radiomics_table.py +0 -0
  55. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/data_frame_export.py +0 -0
  56. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/find_process_names.py +0 -0
  57. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/get_file_paths.py +0 -0
  58. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/get_full_rad_names.py +0 -0
  59. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/get_institutions_from_ids.py +0 -0
  60. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/get_patient_id_from_scan_name.py +0 -0
  61. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/get_patient_names.py +0 -0
  62. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/get_radiomic_names.py +0 -0
  63. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/get_scan_name_from_rad_name.py +0 -0
  64. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/image_reader_SITK.py +0 -0
  65. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/image_volume_obj.py +0 -0
  66. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/imref.py +0 -0
  67. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/initialize_features_names.py +0 -0
  68. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/inpolygon.py +0 -0
  69. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/interp3.py +0 -0
  70. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/json_utils.py +0 -0
  71. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/mode.py +0 -0
  72. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/parse_contour_string.py +0 -0
  73. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/save_MEDscan.py +0 -0
  74. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/strfind.py +0 -0
  75. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/textureTools.py +0 -0
  76. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/texture_features_names.py +0 -0
  77. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/utils/write_radiomics_csv.py +0 -0
  78. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/wrangling/ProcessDICOM.py +0 -0
  79. {mediml-0.9.9 → mediml-0.9.10}/MEDiml/wrangling/__init__.py +0 -0
@@ -14,7 +14,7 @@ stream_handler.setLevel(logging.WARNING)
14
14
  logging.getLogger(__name__).addHandler(stream_handler)
15
15
 
16
16
  __author__ = "MEDomicsLab consortium"
17
- __version__ = "0.9.9"
17
+ __version__ = "0.9.10"
18
18
  __copyright__ = "Copyright (C) MEDomicsLab consortium"
19
19
  __license__ = "GNU General Public License 3.0"
20
20
  __maintainer__ = "MAHDI AIT LHAJ LOUTFI"
@@ -432,17 +432,7 @@ class DataManager(object):
432
432
  Returns:
433
433
  MEDscan: Returns a MEDscan instance with updated roi attributes.
434
434
  """
435
- image_file = Path(image_file)
436
- roi_index = 0
437
-
438
- if not path_roi_data:
439
- if not self.paths._path_to_niftis:
440
- raise ValueError("The path to the niftis is not defined")
441
- else:
442
- path_roi_data = self.paths._path_to_niftis
443
-
444
- for file in path_roi_data.glob('*.nii.gz'):
445
- _id = image_file.name.split("(")[0] # id is PatientID__ImagingScanName
435
+ def load_mask(_id, file, medscan):
446
436
  # Load the patient's ROI nifti files:
447
437
  if file.name.startswith(_id) and 'ROI' in file.name.split("."):
448
438
  roi = nib.load(file)
@@ -452,8 +442,27 @@ class DataManager(object):
452
442
  name_set = file.name[file.name.find("_") + 2 : file.name.find("(")]
453
443
  medscan.data.ROI.update_indexes(key=roi_index, indexes=np.nonzero(roi_data.flatten()))
454
444
  medscan.data.ROI.update_name_set(key=roi_index, name_set=name_set)
455
- medscan.data.ROI.update_roi_name(key=roi_index, roi_name=roi_name)
445
+ medscan.data.ROI.update_roi_name(key=roi_index, roi_name=roi_name)
446
+ else:
447
+ raise ValueError(f"The ROI file for patient ID: {_id} "
448
+ f"was not found in the given path: {file} or was not correctly named.")
449
+
450
+ image_file = Path(image_file)
451
+ roi_index = 0
452
+ if not path_roi_data:
453
+ if not self.paths._path_to_niftis:
454
+ raise ValueError("The path to the niftis is not defined")
455
+ else:
456
+ path_roi_data = self.paths._path_to_niftis
457
+
458
+ for file in self.__nifti.stack_path_roi:
459
+ _id = image_file.name.split("(")[0] if ("(") in image_file.name else image_file.name # id is PatientID__ImagingScanName
460
+ load_mask(_id, file, medscan)
456
461
  roi_index += 1
462
+ else:
463
+ _id = image_file.name.split("(")[0] if ("(") in image_file.name else image_file.name # id is PatientID__ImagingScanName
464
+ load_mask(_id, path_roi_data, medscan)
465
+
457
466
  return medscan
458
467
 
459
468
  def __associate_spatialRef(self, nifti_file: Union[Path, str], medscan: MEDscan) -> MEDscan:
@@ -567,7 +576,7 @@ class DataManager(object):
567
576
  medscan = MEDscan()
568
577
  medscan.patientID = os.path.basename(file).split("_")[0]
569
578
  medscan.type = os.path.basename(file).split(".")[-3]
570
- medscan.series_description = file.name[file.name.find('__') + 2: file.name.find('(')]
579
+ medscan.series_description = file.name[file.name.find('__') + 2: file.name.find('(')] if '__' in file.name else ""
571
580
  medscan.format = "nifti"
572
581
  medscan.data.set_orientation(orientation="Axial")
573
582
  medscan.data.set_patient_position(patient_position="HFS")
@@ -625,6 +634,24 @@ class DataManager(object):
625
634
  if list_instances:
626
635
  return list_instances
627
636
 
637
+ def process_one_nifti(self, path_image: Union[Path, str], path_mask: Union[Path, str]) -> MEDscan:
638
+ """Processes one NIfTI file to create a MEDscan class instance.
639
+
640
+ Args:
641
+ nifti_file (Union[Path, str]): Path to the NIfTI file.
642
+ path_data (Union[Path, str]): Path to the data.
643
+
644
+ Returns:
645
+ MEDscan: MEDscan class instance.
646
+ """
647
+ medscan = self.__process_one_nifti(path_image, path_mask)
648
+
649
+ # SAVE MEDscan INSTANCE
650
+ if self.save and self.paths._path_save:
651
+ save_MEDscan(medscan, self.paths._path_save)
652
+
653
+ return medscan
654
+
628
655
  def update_from_csv(self, path_csv: Union[str, Path] = None) -> None:
629
656
  """Updates the class from a given CSV and summarizes the processed scans again according to it.
630
657
 
@@ -1,18 +1,18 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: mediml
3
- Version: 0.9.9
3
+ Version: 0.9.10
4
4
  Summary: MEDiml is a Python package for processing and extracting features from medical images
5
- Home-page: https://mediml.app/
6
5
  License: GPL-3.0
6
+ License-File: LICENSE.md
7
7
  Keywords: python,ibsi,medical-imaging,cancer-imaging-research,radiomics,medical-image-analysis,features-extraction,radiomics-extraction,radiomics-features,radiomics-analysis
8
8
  Author: MEDomics Consortium
9
9
  Author-email: medomics.info@gmail.com
10
10
  Requires-Python: >=3.8.0,<=3.10
11
11
  Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
12
12
  Classifier: Programming Language :: Python :: 3
13
- Classifier: Programming Language :: Python :: 3.10
14
13
  Classifier: Programming Language :: Python :: 3.8
15
14
  Classifier: Programming Language :: Python :: 3.9
15
+ Classifier: Programming Language :: Python :: 3.10
16
16
  Requires-Dist: Pillow
17
17
  Requires-Dist: PyWavelets
18
18
  Requires-Dist: SimpleITK
@@ -47,6 +47,7 @@ Requires-Dist: wget
47
47
  Requires-Dist: xgboost
48
48
  Project-URL: Bug Tracker, https://github.com/MEDomicsLab/MEDiml/issues
49
49
  Project-URL: Documentation, https://mediml.readthedocs.io/
50
+ Project-URL: Homepage, https://mediml.app/
50
51
  Project-URL: Repository, https://github.com/MEDomicsLab/MEDiml/
51
52
  Description-Content-Type: text/markdown
52
53
 
@@ -59,7 +60,7 @@ Description-Content-Type: text/markdown
59
60
  [![Continuous Integration](https://github.com/MEDomicsLab/MEDiml/actions/workflows/python-app.yml/badge.svg)](https://github.com/MEDomicsLab/MEDiml/actions/workflows/python-app.yml)
60
61
  [![Documentation Status](https://readthedocs.org/projects/mediml/badge/?version=latest)](https://mediml.readthedocs.io/en/latest/?badge=latest)
61
62
  [![License: GPL-3](https://img.shields.io/badge/license-GPLv3-blue)](LICENSE)
62
- [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MahdiAll99/MEDimage/blob/main/notebooks/tutorial/DataManager-Tutorial.ipynb)
63
+ [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MEDomicsLab/MEDiml/blob/main/notebooks/tutorial/DataManager-Tutorial.ipynb)
63
64
 
64
65
  </div>
65
66
 
@@ -79,7 +80,7 @@ Description-Content-Type: text/markdown
79
80
  ## 1. Introduction
80
81
  MEDiml is an open-source Python package that can be used for processing multi-modal medical images (MRI, CT or PET) and for extracting their radiomic features. This package is meant to facilitate the processing of medical images and the subsequent computation of all types of radiomic features while maintaining the reproducibility of analyses. This package has been standardized with the [IBSI](https://theibsi.github.io/) norms.
81
82
 
82
- ![MEDiml overview](https://raw.githubusercontent.com/MahdiAll99/MEDimage/main/docs/figures/pakcage-overview.png)
83
+ ![MEDiml overview](https://raw.githubusercontent.com/MEDomicsLab/MEDiml/main/docs/figures/pakcage-overview.png)
83
84
 
84
85
 
85
86
  ## 2. Installation
@@ -159,14 +160,14 @@ The image biomarker standardization initiative ([IBSI](https://theibsi.github.io
159
160
  - ### IBSI Chapter 1
160
161
  [The IBSI chapter 1](https://theibsi.github.io/ibsi1/) is dedicated to the standardization of commonly used radiomic features. It was initiated in September 2016 and reached completion in March 2020. We have created two [jupyter notebooks](https://github.com/MEDomicsLab/MEDiml/tree/main/notebooks/ibsi) for each phase of the chapter and made them available for the users to run the IBSI tests for themselves. The tests can also be explored in interactive Colab notebooks that are directly accessible here:
161
162
 
162
- - **Phase 1**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MahdiAll99/MEDimage/blob/main/notebooks/ibsi/ibsi1p1.ipynb)
163
- - **Phase 2**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MahdiAll99/MEDimage/blob/main/notebooks/ibsi/ibsi1p2.ipynb)
163
+ - **Phase 1**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MEDomicsLab/MEDiml/blob/main/notebooks/ibsi/ibsi1p1.ipynb)
164
+ - **Phase 2**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MEDomicsLab/MEDiml/blob/main/notebooks/ibsi/ibsi1p2.ipynb)
164
165
 
165
166
  - ### IBSI Chapter 2
166
167
  [The IBSI chapter 2](https://theibsi.github.io/ibsi2/) was launched in June 2020 and reached completion in February 2024. It is dedicated to the standardization of commonly used imaging filters in radiomic studies. We have created two [jupyter notebooks](https://github.com/MEDomicsLab/MEDiml/tree/main/notebooks/ibsi) for each phase of the chapter and made them available for the users to run the IBSI tests for themselves and validate image filtering and image biomarker calculations from filter response maps. The tests can also be explored in interactive Colab notebooks that are directly accessible here:
167
168
 
168
- - **Phase 1**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MahdiAll99/MEDimage/blob/main/notebooks/ibsi/ibsi2p1.ipynb)
169
- - **Phase 2**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MahdiAll99/MEDimage/blob/main/notebooks/ibsi/ibsi2p2.ipynb)
169
+ - **Phase 1**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MEDomicsLab/MEDiml/blob/main/notebooks/ibsi/ibsi2p1.ipynb)
170
+ - **Phase 2**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MEDomicsLab/MEDiml/blob/main/notebooks/ibsi/ibsi2p2.ipynb)
170
171
 
171
172
  Our team at *UdeS* (a.k.a. Université de Sherbrooke) has already submitted the benchmarked values to the [IBSI uploading website](https://ibsi.radiomics.hevs.ch/).
172
173
 
@@ -7,7 +7,7 @@
7
7
  [![Continuous Integration](https://github.com/MEDomicsLab/MEDiml/actions/workflows/python-app.yml/badge.svg)](https://github.com/MEDomicsLab/MEDiml/actions/workflows/python-app.yml)
8
8
  [![Documentation Status](https://readthedocs.org/projects/mediml/badge/?version=latest)](https://mediml.readthedocs.io/en/latest/?badge=latest)
9
9
  [![License: GPL-3](https://img.shields.io/badge/license-GPLv3-blue)](LICENSE)
10
- [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MahdiAll99/MEDimage/blob/main/notebooks/tutorial/DataManager-Tutorial.ipynb)
10
+ [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MEDomicsLab/MEDiml/blob/main/notebooks/tutorial/DataManager-Tutorial.ipynb)
11
11
 
12
12
  </div>
13
13
 
@@ -27,7 +27,7 @@
27
27
  ## 1. Introduction
28
28
  MEDiml is an open-source Python package that can be used for processing multi-modal medical images (MRI, CT or PET) and for extracting their radiomic features. This package is meant to facilitate the processing of medical images and the subsequent computation of all types of radiomic features while maintaining the reproducibility of analyses. This package has been standardized with the [IBSI](https://theibsi.github.io/) norms.
29
29
 
30
- ![MEDiml overview](https://raw.githubusercontent.com/MahdiAll99/MEDimage/main/docs/figures/pakcage-overview.png)
30
+ ![MEDiml overview](https://raw.githubusercontent.com/MEDomicsLab/MEDiml/main/docs/figures/pakcage-overview.png)
31
31
 
32
32
 
33
33
  ## 2. Installation
@@ -107,14 +107,14 @@ The image biomarker standardization initiative ([IBSI](https://theibsi.github.io
107
107
  - ### IBSI Chapter 1
108
108
  [The IBSI chapter 1](https://theibsi.github.io/ibsi1/) is dedicated to the standardization of commonly used radiomic features. It was initiated in September 2016 and reached completion in March 2020. We have created two [jupyter notebooks](https://github.com/MEDomicsLab/MEDiml/tree/main/notebooks/ibsi) for each phase of the chapter and made them available for the users to run the IBSI tests for themselves. The tests can also be explored in interactive Colab notebooks that are directly accessible here:
109
109
 
110
- - **Phase 1**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MahdiAll99/MEDimage/blob/main/notebooks/ibsi/ibsi1p1.ipynb)
111
- - **Phase 2**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MahdiAll99/MEDimage/blob/main/notebooks/ibsi/ibsi1p2.ipynb)
110
+ - **Phase 1**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MEDomicsLab/MEDiml/blob/main/notebooks/ibsi/ibsi1p1.ipynb)
111
+ - **Phase 2**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MEDomicsLab/MEDiml/blob/main/notebooks/ibsi/ibsi1p2.ipynb)
112
112
 
113
113
  - ### IBSI Chapter 2
114
114
  [The IBSI chapter 2](https://theibsi.github.io/ibsi2/) was launched in June 2020 and reached completion in February 2024. It is dedicated to the standardization of commonly used imaging filters in radiomic studies. We have created two [jupyter notebooks](https://github.com/MEDomicsLab/MEDiml/tree/main/notebooks/ibsi) for each phase of the chapter and made them available for the users to run the IBSI tests for themselves and validate image filtering and image biomarker calculations from filter response maps. The tests can also be explored in interactive Colab notebooks that are directly accessible here:
115
115
 
116
- - **Phase 1**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MahdiAll99/MEDimage/blob/main/notebooks/ibsi/ibsi2p1.ipynb)
117
- - **Phase 2**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MahdiAll99/MEDimage/blob/main/notebooks/ibsi/ibsi2p2.ipynb)
116
+ - **Phase 1**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MEDomicsLab/MEDiml/blob/main/notebooks/ibsi/ibsi2p1.ipynb)
117
+ - **Phase 2**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MEDomicsLab/MEDiml/blob/main/notebooks/ibsi/ibsi2p2.ipynb)
118
118
 
119
119
  Our team at *UdeS* (a.k.a. Université de Sherbrooke) has already submitted the benchmarked values to the [IBSI uploading website](https://ibsi.radiomics.hevs.ch/).
120
120
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "mediml"
3
- version = "0.9.9"
3
+ version = "0.9.10"
4
4
  description = "MEDiml is a Python package for processing and extracting features from medical images"
5
5
  authors = ["MEDomics Consortium <medomics.info@gmail.com>"]
6
6
  license = "GPL-3.0"
mediml-0.9.9/setup.py DELETED
@@ -1,67 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- from setuptools import setup
3
-
4
- packages = \
5
- ['mediml',
6
- 'mediml.biomarkers',
7
- 'mediml.filters',
8
- 'mediml.learning',
9
- 'mediml.processing',
10
- 'mediml.utils',
11
- 'mediml.wrangling']
12
-
13
- package_data = \
14
- {'': ['*']}
15
-
16
- install_requires = \
17
- ['Pillow',
18
- 'PyWavelets',
19
- 'SimpleITK',
20
- 'Sphinx',
21
- 'ipykernel',
22
- 'ipywidgets',
23
- 'isort',
24
- 'jupyter',
25
- 'matplotlib',
26
- 'networkx',
27
- 'neuroCombat',
28
- 'nibabel',
29
- 'nilearn',
30
- 'numpy',
31
- 'numpyencoder',
32
- 'pandas<2.0.0',
33
- 'protobuf',
34
- 'pycaret',
35
- 'pydicom',
36
- 'ray[default]',
37
- 'scikit_image',
38
- 'scikit_learn',
39
- 'scipy',
40
- 'seaborn',
41
- 'setuptools',
42
- 'sphinx-carousel==1.2.0',
43
- 'sphinx-jsonschema==1.19.1',
44
- 'sphinx-rtd-dark-mode==1.2.4',
45
- 'tabulate',
46
- 'tqdm',
47
- 'wget',
48
- 'xgboost']
49
-
50
- setup_kwargs = {
51
- 'name': 'mediml',
52
- 'version': '0.9.9',
53
- 'description': 'MEDiml is a Python package for processing and extracting features from medical images',
54
- 'long_description': '<div align="center">\n\n<img src="https://github.com/MEDomicsLab/MEDiml/blob/main/docs/figures/MEDimlLogo150.png?raw=true" style="width:150px;"/>\n\n[![PyPI - Python Version](https://img.shields.io/badge/python-3.8%20|%203.9%20|%203.10-blue)](https://www.python.org/downloads/release/python-380/)\n[![PyPI - version](https://img.shields.io/badge/pypi-v0.9.8-blue)](https://pypi.org/project/medimage-pkg/)\n[![Continuous Integration](https://github.com/MEDomicsLab/MEDiml/actions/workflows/python-app.yml/badge.svg)](https://github.com/MEDomicsLab/MEDiml/actions/workflows/python-app.yml)\n[![Documentation Status](https://readthedocs.org/projects/mediml/badge/?version=latest)](https://mediml.readthedocs.io/en/latest/?badge=latest)\n[![License: GPL-3](https://img.shields.io/badge/license-GPLv3-blue)](LICENSE)\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MahdiAll99/MEDimage/blob/main/notebooks/tutorial/DataManager-Tutorial.ipynb)\n\n</div>\n\n## Table of Contents\n * [1. Introduction](#1-introduction)\n * [2. Installation](#2-installation)\n * [3. Generating the documentation locally](#3-generating-the-documentation-locally)\n * [4. A simple example](#4-a-simple-example)\n * [5. Tutorials](#5-tutorials)\n * [6. IBSI Standardization](#6-ibsi-standardization)\n * [IBSI Chapter 1](#ibsi-chapter-1)\n * [IBSI Chapter 2](#ibsi-chapter-2)\n * [7. Acknowledgement](#7-acknowledgement)\n * [8. Authors](#8-authors)\n * [9. Statement](#9-statement)\n\n## 1. Introduction\nMEDiml is an open-source Python package that can be used for processing multi-modal medical images (MRI, CT or PET) and for extracting their radiomic features. This package is meant to facilitate the processing of medical images and the subsequent computation of all types of radiomic features while maintaining the reproducibility of analyses. This package has been standardized with the [IBSI](https://theibsi.github.io/) norms.\n\n![MEDiml overview](https://raw.githubusercontent.com/MahdiAll99/MEDimage/main/docs/figures/pakcage-overview.png)\n\n\n## 2. Installation\n\n### Python installation\nThe MEDiml package requires *Python 3.8* or more. If you don\'t have it installed on your machine, follow the instructions [here](https://github.com/MEDomicsLab/MEDiml/blob/main/python.md) to install it.\n\n### Package installation\nYou can easily install the ``MEDiml`` package from PyPI using:\n```\npip install MEDiml\n```\n\nFor more installation options (Conda, Poetry...) check out the [installation documentation](https://mediml.readthedocs.io/en/latest/Installation.html).\n\n## 3. Generating the documentation locally\nThe [documentation](https://mediml.readthedocs.io/en/latest/) of the MEDiml package was created using Sphinx. However, you can generate and host it locally by compiling the documentation source code using :\n\n```\ncd docs\nmake clean\nmake html\n```\n\nThen open it locally using:\n\n```\ncd _build/html\npython -m http.server\n```\n\n## 4. A simple example\n```python\nimport os\nimport pickle\n\nimport MEDiml\n\n# Load MEDiml DataManager\ndm = MEDiml.DataManager(path_dicoms=os.getcwd())\n\n# Process the DICOM files and retrieve the MEDiml object\nmed_obj = dm.process_all_dicoms()[0]\n\n# Extract ROI mask from the object\nvol_obj_init, roi_obj_init = MEDiml.processing.get_roi_from_indexes(\n med_obj,\n name_roi=\'{ED}+{ET}+{NET}\',\n box_string=\'full\')\n\n# Extract features from the imaging data\nlocal_intensity = MEDiml.biomarkers.local_intensity.extract_all(\n img_obj=vol_obj_init.data,\n roi_obj=roi_obj_init.data,\n res=[1, 1, 1]\n )\n\n# Update radiomics results class\nmed_obj.update_radiomics(loc_int_features=local_intensity)\n\n# Saving radiomics results\nmed_obj.save_radiomics(\n scan_file_name=\'STS-UdS-001__T1.MRscan.npy\',\n path_save=os.getcwd(),\n roi_type=\'GrossTumorVolume\',\n roi_type_label=\'GTV\',\n )\n```\n\n## 5. Tutorials\n\nWe have created many [tutorial notebooks](https://github.com/MEDomicsLab/MEDiml/tree/main/notebooks) to assist you in learning how to use the different parts of the package. More details can be found in the [documentation](https://mediml.readthedocs.io/en/latest/tutorials.html).\n\n## 6. IBSI Standardization\nThe image biomarker standardization initiative ([IBSI](https://theibsi.github.io)) is an independent international collaboration that aims to standardize the extraction of image biomarkers from acquired imaging. The IBSI therefore seeks to provide image biomarker nomenclature and definitions, benchmark datasets, and benchmark values to verify image processing and image biomarker calculations, as well as reporting guidelines, for high-throughput image analysis. We participate in this collaboration with our package to make sure it respects international nomenclatures and definitions. The participation was separated into two chapters:\n\n - ### IBSI Chapter 1\n [The IBSI chapter 1](https://theibsi.github.io/ibsi1/) is dedicated to the standardization of commonly used radiomic features. It was initiated in September 2016 and reached completion in March 2020. We have created two [jupyter notebooks](https://github.com/MEDomicsLab/MEDiml/tree/main/notebooks/ibsi) for each phase of the chapter and made them available for the users to run the IBSI tests for themselves. The tests can also be explored in interactive Colab notebooks that are directly accessible here:\n \n - **Phase 1**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MahdiAll99/MEDimage/blob/main/notebooks/ibsi/ibsi1p1.ipynb)\n - **Phase 2**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MahdiAll99/MEDimage/blob/main/notebooks/ibsi/ibsi1p2.ipynb)\n\n - ### IBSI Chapter 2\n [The IBSI chapter 2](https://theibsi.github.io/ibsi2/) was launched in June 2020 and reached completion in February 2024. It is dedicated to the standardization of commonly used imaging filters in radiomic studies. We have created two [jupyter notebooks](https://github.com/MEDomicsLab/MEDiml/tree/main/notebooks/ibsi) for each phase of the chapter and made them available for the users to run the IBSI tests for themselves and validate image filtering and image biomarker calculations from filter response maps. The tests can also be explored in interactive Colab notebooks that are directly accessible here: \n \n - **Phase 1**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MahdiAll99/MEDimage/blob/main/notebooks/ibsi/ibsi2p1.ipynb)\n - **Phase 2**: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MahdiAll99/MEDimage/blob/main/notebooks/ibsi/ibsi2p2.ipynb)\n\n Our team at *UdeS* (a.k.a. Université de Sherbrooke) has already submitted the benchmarked values to the [IBSI uploading website](https://ibsi.radiomics.hevs.ch/).\n\n---\n**Miscellaneous**\n\nYou can avoid the next steps (Jupyter installation and environment setup) if you installed the package using Conda or Poetry according to the documentation.\n\n---\n\nYou can view and run the tests locally by installing the [Jupyter Notebook](https://jupyter.org/) application on your machine:\n```\npython -m pip install jupyter\n```\nThen add the installed `MEDiml` environment to the Jupyter Notebook kernels using:\n\n```\npython -m ipykernel install --user --name=MEDiml\n```\n\nThen access the IBSI tests folder using:\n\n```\ncd notebooks/ibsi/\n```\n\nFinally, launch Jupyter Notebook to navigate through the IBSI notebooks using:\n\n```\njupyter notebook\n```\n\n## 7. Acknowledgement\nMEDiml is an open-source package developed at the [MEDomicsLab](https://www.medomicslab.com/en/) laboratory with the collaboration of the international consortium [MEDomics](https://www.medomics.ai/). We welcome any contribution and feedback. Furthermore, we wish that this package could serve the growing radiomics research community by providing a flexible as well as [IBSI](https://theibsi.github.io/) standardized tool to reimplement existing methods and develop new ones.\n\n## 8. Authors\n* [MEDomicsLab](https://www.medomicslab.com/en/): Research laboratory at Université de Sherbrooke & McGill University.\n* [MEDomics](https://github.com/medomics/): MEDomics consortium.\n\n## 9. Statement\n\nThis package is part of https://github.com/medomics, a package providing research utility tools for developing precision medicine applications.\n\n```\nCopyright (C) 2024 MEDomics consortium\n\nGPL3 LICENSE SYNOPSIS\n\nHere\'s what the license entails:\n\n1. Anyone can copy, modify and distribute this software.\n2. You have to include the license and copyright notice with each and every distribution.\n3. You can use this software privately.\n4. You can use this software for commercial purposes.\n5. If you dare build your business solely from this code, you risk open-sourcing the whole code base.\n6. If you modify it, you have to indicate changes made to the code.\n7. Any modifications of this code base MUST be distributed with the same license, GPLv3.\n8. This software is provided without warranty.\n9. The software author or license can not be held liable for any damages inflicted by the software.\n```\n\nMore information on about the [LICENSE can be found here](https://github.com/MEDomicsLab/MEDiml/blob/main/LICENSE.md)\n',
55
- 'author': 'MEDomics Consortium',
56
- 'author_email': 'medomics.info@gmail.com',
57
- 'maintainer': None,
58
- 'maintainer_email': None,
59
- 'url': 'https://mediml.app/',
60
- 'packages': packages,
61
- 'package_data': package_data,
62
- 'install_requires': install_requires,
63
- 'python_requires': '>=3.8.0,<=3.10',
64
- }
65
-
66
-
67
- setup(**setup_kwargs)
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