z-rad 24.9.1__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.
z_rad-24.9.1/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Z-Rad developers
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
z_rad-24.9.1/PKG-INFO ADDED
@@ -0,0 +1,141 @@
1
+ Metadata-Version: 2.1
2
+ Name: z-rad
3
+ Version: 24.9.1
4
+ Summary: Z-Rad is a radiomic feature extraction software with GUI and API.
5
+ Author: Radiomics Team of Radiation Oncology Department at University Hospital Zurich
6
+ Author-email: zrad@usz.ch
7
+ Requires-Python: >=3.12,<4.0
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.12
10
+ Requires-Dist: joblib (>=1.4.2,<2.0.0)
11
+ Requires-Dist: numpy (>=2.1.1,<3.0.0)
12
+ Requires-Dist: opencv-python-headless (>=4.10.0.84,<5.0.0.0)
13
+ Requires-Dist: openpyxl (>=3.1.5,<4.0.0)
14
+ Requires-Dist: pandas (>=2.2.2,<3.0.0)
15
+ Requires-Dist: pydicom (>=3.0.0,<4.0.0)
16
+ Requires-Dist: pyqt5 (>=5.15.11,<6.0.0)
17
+ Requires-Dist: pywavelets (>=1.7.0,<2.0.0)
18
+ Requires-Dist: scikit-image (>=0.24.0,<0.25.0)
19
+ Requires-Dist: scikit-learn (>=1.5.2,<2.0.0)
20
+ Requires-Dist: scipy (>=1.14.1,<2.0.0)
21
+ Requires-Dist: simpleitk (>=2.4.0,<3.0.0)
22
+ Description-Content-Type: text/markdown
23
+
24
+ # Z-RAD
25
+
26
+ <img src="https://raw.githubusercontent.com/radiomics-usz/z-rad/master/doc/logos/ZRadLogo.jpg" width="600" alt="Z-Rad logo"/>
27
+
28
+ Radiomics is the high-throughput extraction of quantitative features from medical images,
29
+ revolutionizing personalized medicine and enhancing clinical decision-making.
30
+ Despite its potential, radiomics faces several challenges, including the need for programming skills
31
+ and lack of standardization.
32
+
33
+ **Z-Rad (Zurich Radiomics)**, developed by the Radiation Oncology Department at the University Hospital Zurich,
34
+ addresses these issues by offering a user-friendly, IBSI-compliant, and open-source solution for radiomics analysis.
35
+
36
+ ## Z-Rad Features
37
+
38
+ ### User-Friendly Interface
39
+ - **Graphical User Interface (GUI)**: Designed for medical professionals with no programming skills.
40
+ - **Application Programming Interface (API)**: Allows researchers to customize, automate, and extend Z-Rad functionalities using Python.
41
+
42
+ ### Compatibility
43
+ - **Medical Data Formats**: Supports CT, PET, and MR imaging modalities in both DICOM and NIfTI formats.
44
+ - **Operating Systems**: Windows, macOS, and Linux.
45
+
46
+ ### Standard Compliance
47
+ - **IBSI Compliance**: Adheres to [IBSI I](https://arxiv.org/abs/1612.07003) and [IBSI II](https://arxiv.org/abs/2006.05470) standards for reproducible and comparable radiomics features.
48
+
49
+
50
+ ## Software Architecture and Design
51
+
52
+ ### Backend
53
+ - **Programming Language**: Python.
54
+ - **Dependencies**:
55
+ - Joblib
56
+ - NumPy
57
+ - OpenCV
58
+ - OpenPyXL
59
+ - Pandas
60
+ - PyDicom
61
+ - PyQt5
62
+ - PyWavelets
63
+ - Scikit-image
64
+ - Scikit-learn
65
+ - SciPy
66
+ - SimpleITK
67
+
68
+ ### Radiomics Extraction Pathways
69
+ <img src="https://raw.githubusercontent.com/radiomics-usz/z-rad/master/doc/images/ZRadExtractionPathways.png" width="600" alt="Z-Rad Pathways"/>
70
+
71
+ ## Graphical User Interface (GUI) and Application Programming Interface (API)
72
+
73
+ Both GUI and API are structured into three primary classes: **Resampling**, **Filtering**, and **Radiomics**:
74
+
75
+ ### Resampling
76
+ Z-Rad supports image resampling alone, alongside regions of interest (ROI) masks, or converting DICOM files to NIfTI
77
+ images and masks without resampling. Resampling can be performed in 3D or 2D (axial slice-wise), with nearest
78
+ neighbors, linear, B-spline, and Gaussian strategies.
79
+
80
+ ### Filtering
81
+ This tab requires users to define the desired filter settings.
82
+ The current version of Z-Rad supports mean, Laplace of Gaussian, Laws kernels,
83
+ and wavelet (Daubechies 2, Daubechies 3, first-order Coiflet, and Haar) filters.
84
+
85
+ ### Radiomics Feature Extraction
86
+ Parameters for radiomics feature extraction include the intensity re-segmentation
87
+ (e.g., HU for CT or SUV for PET within ROIs) and intensity outlier filtering,
88
+ discretisation strategies, and a variety of radiomics feature aggregation methods covering 2D, 2.5D, and 3D options.
89
+ Radiomic features include shape, intensity, grey level co-occurrence matrix (GLCM),
90
+ grey level run length matrix (GLRLM), grey level distance zone matrix (GLDZM),
91
+ neighbouring gray tone difference matrix (NGTDM),
92
+ and neighbouring gray level dependance matrix (NGLDM) features families.
93
+
94
+ ## Error and Warning Handling
95
+
96
+ - **GUI**: Uses warning pop-up messages for immediate feedback.
97
+ - **API**: Records processes in log files for comprehensive documentation.
98
+
99
+ ## Installation and Get Started
100
+
101
+ ### Windows executable file:
102
+ The simplest way to run Z-Rad on Windows is to start the `main.exe` attached to every Z-Rad release.
103
+
104
+ An executable can be also generated from the source files by running
105
+ ```sh
106
+ python generate_executable.py
107
+ ```
108
+ Creating an executable requires [PyInstaller](https://pyinstaller.readthedocs.io).
109
+ The executable is going to be saved in *dist/* directory.
110
+
111
+ ### Windows, Linux, and macOS
112
+ For users familiar with Python programming langauage, we recommend:
113
+
114
+ 1. Download the Z-Rad repository
115
+ 2. Open the terminal and navigate to the project directory
116
+ 3. Install requirements by typing in the terminal:
117
+
118
+ ```sh
119
+ pip install -r requirements.txt
120
+ ```
121
+
122
+ 4. Run the `main.py` file:
123
+
124
+ ```sh
125
+ python main.py
126
+ ```
127
+
128
+ ### API
129
+ ```sh
130
+ pip install z-rad
131
+ ```
132
+
133
+ ## License
134
+
135
+ Z-Rad is an open-source project licensed under the MIT License.
136
+
137
+ ## Contact
138
+
139
+ For any questions or feedback, please contact us at [zrad@usz.ch](mailto:zrad@usz.ch).
140
+
141
+ ---
z_rad-24.9.1/README.md ADDED
@@ -0,0 +1,118 @@
1
+ # Z-RAD
2
+
3
+ <img src="https://raw.githubusercontent.com/radiomics-usz/z-rad/master/doc/logos/ZRadLogo.jpg" width="600" alt="Z-Rad logo"/>
4
+
5
+ Radiomics is the high-throughput extraction of quantitative features from medical images,
6
+ revolutionizing personalized medicine and enhancing clinical decision-making.
7
+ Despite its potential, radiomics faces several challenges, including the need for programming skills
8
+ and lack of standardization.
9
+
10
+ **Z-Rad (Zurich Radiomics)**, developed by the Radiation Oncology Department at the University Hospital Zurich,
11
+ addresses these issues by offering a user-friendly, IBSI-compliant, and open-source solution for radiomics analysis.
12
+
13
+ ## Z-Rad Features
14
+
15
+ ### User-Friendly Interface
16
+ - **Graphical User Interface (GUI)**: Designed for medical professionals with no programming skills.
17
+ - **Application Programming Interface (API)**: Allows researchers to customize, automate, and extend Z-Rad functionalities using Python.
18
+
19
+ ### Compatibility
20
+ - **Medical Data Formats**: Supports CT, PET, and MR imaging modalities in both DICOM and NIfTI formats.
21
+ - **Operating Systems**: Windows, macOS, and Linux.
22
+
23
+ ### Standard Compliance
24
+ - **IBSI Compliance**: Adheres to [IBSI I](https://arxiv.org/abs/1612.07003) and [IBSI II](https://arxiv.org/abs/2006.05470) standards for reproducible and comparable radiomics features.
25
+
26
+
27
+ ## Software Architecture and Design
28
+
29
+ ### Backend
30
+ - **Programming Language**: Python.
31
+ - **Dependencies**:
32
+ - Joblib
33
+ - NumPy
34
+ - OpenCV
35
+ - OpenPyXL
36
+ - Pandas
37
+ - PyDicom
38
+ - PyQt5
39
+ - PyWavelets
40
+ - Scikit-image
41
+ - Scikit-learn
42
+ - SciPy
43
+ - SimpleITK
44
+
45
+ ### Radiomics Extraction Pathways
46
+ <img src="https://raw.githubusercontent.com/radiomics-usz/z-rad/master/doc/images/ZRadExtractionPathways.png" width="600" alt="Z-Rad Pathways"/>
47
+
48
+ ## Graphical User Interface (GUI) and Application Programming Interface (API)
49
+
50
+ Both GUI and API are structured into three primary classes: **Resampling**, **Filtering**, and **Radiomics**:
51
+
52
+ ### Resampling
53
+ Z-Rad supports image resampling alone, alongside regions of interest (ROI) masks, or converting DICOM files to NIfTI
54
+ images and masks without resampling. Resampling can be performed in 3D or 2D (axial slice-wise), with nearest
55
+ neighbors, linear, B-spline, and Gaussian strategies.
56
+
57
+ ### Filtering
58
+ This tab requires users to define the desired filter settings.
59
+ The current version of Z-Rad supports mean, Laplace of Gaussian, Laws kernels,
60
+ and wavelet (Daubechies 2, Daubechies 3, first-order Coiflet, and Haar) filters.
61
+
62
+ ### Radiomics Feature Extraction
63
+ Parameters for radiomics feature extraction include the intensity re-segmentation
64
+ (e.g., HU for CT or SUV for PET within ROIs) and intensity outlier filtering,
65
+ discretisation strategies, and a variety of radiomics feature aggregation methods covering 2D, 2.5D, and 3D options.
66
+ Radiomic features include shape, intensity, grey level co-occurrence matrix (GLCM),
67
+ grey level run length matrix (GLRLM), grey level distance zone matrix (GLDZM),
68
+ neighbouring gray tone difference matrix (NGTDM),
69
+ and neighbouring gray level dependance matrix (NGLDM) features families.
70
+
71
+ ## Error and Warning Handling
72
+
73
+ - **GUI**: Uses warning pop-up messages for immediate feedback.
74
+ - **API**: Records processes in log files for comprehensive documentation.
75
+
76
+ ## Installation and Get Started
77
+
78
+ ### Windows executable file:
79
+ The simplest way to run Z-Rad on Windows is to start the `main.exe` attached to every Z-Rad release.
80
+
81
+ An executable can be also generated from the source files by running
82
+ ```sh
83
+ python generate_executable.py
84
+ ```
85
+ Creating an executable requires [PyInstaller](https://pyinstaller.readthedocs.io).
86
+ The executable is going to be saved in *dist/* directory.
87
+
88
+ ### Windows, Linux, and macOS
89
+ For users familiar with Python programming langauage, we recommend:
90
+
91
+ 1. Download the Z-Rad repository
92
+ 2. Open the terminal and navigate to the project directory
93
+ 3. Install requirements by typing in the terminal:
94
+
95
+ ```sh
96
+ pip install -r requirements.txt
97
+ ```
98
+
99
+ 4. Run the `main.py` file:
100
+
101
+ ```sh
102
+ python main.py
103
+ ```
104
+
105
+ ### API
106
+ ```sh
107
+ pip install z-rad
108
+ ```
109
+
110
+ ## License
111
+
112
+ Z-Rad is an open-source project licensed under the MIT License.
113
+
114
+ ## Contact
115
+
116
+ For any questions or feedback, please contact us at [zrad@usz.ch](mailto:zrad@usz.ch).
117
+
118
+ ---
@@ -0,0 +1,37 @@
1
+ [tool.poetry]
2
+ name = "z-rad"
3
+ version = "24.9.1"
4
+ description = "Z-Rad is a radiomic feature extraction software with GUI and API."
5
+ authors = ["Radiomics Team of Radiation Oncology Department at University Hospital Zurich <zrad@usz.ch>"]
6
+ readme = "README.md"
7
+
8
+ packages = [
9
+ { include = "zrad" }
10
+ ]
11
+
12
+ [tool.poetry.dependencies]
13
+ python = "^3.12"
14
+ pydicom = "^3.0.0"
15
+ pyqt5 = "^5.15.11"
16
+ numpy = "^2.1.1"
17
+ pandas = "^2.2.2"
18
+ simpleitk = "^2.4.0"
19
+ scipy = "^1.14.1"
20
+ pywavelets = "^1.7.0"
21
+ openpyxl = "^3.1.5"
22
+ scikit-image = "^0.24.0"
23
+ scikit-learn = "^1.5.2"
24
+ opencv-python-headless = "^4.10.0.84"
25
+ joblib = "^1.4.2"
26
+
27
+
28
+ [build-system]
29
+ requires = ["poetry-core", "poetry-dynamic-versioning"]
30
+ build-backend = "poetry_dynamic_versioning.backend"
31
+
32
+ [tool.poetry-dynamic-versioning]
33
+ enable = false
34
+
35
+ [tool.poetry-dynamic-versioning.from-file]
36
+ source = "zrad/__init__.py"
37
+ pattern = "^__version__ = [\"'](?P<version>.+?)[\"']$"
@@ -0,0 +1 @@
1
+ __version__ = "24.9.1"
File without changes