PyVisualFields 1.0.4__tar.gz → 2.0.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.
- pyvisualfields-2.0.1/MANIFEST.in +2 -0
- {PyVisualFields-1.0.4/src/PyVisualFields.egg-info → pyvisualfields-2.0.1}/PKG-INFO +83 -27
- PyVisualFields-1.0.4/PKG-INFO → pyvisualfields-2.0.1/README.md +63 -43
- {PyVisualFields-1.0.4 → pyvisualfields-2.0.1}/setup.py +17 -12
- pyvisualfields-2.0.1/src/PyVisualFields/Deviation_Analysis.py +452 -0
- pyvisualfields-2.0.1/src/PyVisualFields/PyGlaucoMetrics.py +563 -0
- pyvisualfields-2.0.1/src/PyVisualFields/__init__.py +1 -0
- pyvisualfields-2.0.1/src/PyVisualFields/pkl_files/locmaps.json +132 -0
- pyvisualfields-2.0.1/src/PyVisualFields/pkl_files/normvals.json +1 -0
- pyvisualfields-2.0.1/src/PyVisualFields/pkl_files/normvals_meta.json +14 -0
- pyvisualfields-2.0.1/src/PyVisualFields/pkl_files/vf.cigts.pkl +0 -0
- pyvisualfields-2.0.1/src/PyVisualFields/pkl_files/vf.plr.nouri.2012.pkl +0 -0
- pyvisualfields-2.0.1/src/PyVisualFields/pkl_files/vf.schell2014.pkl +0 -0
- pyvisualfields-2.0.1/src/PyVisualFields/pkl_files/vf.vfi.pkl +0 -0
- pyvisualfields-2.0.1/src/PyVisualFields/pkl_files/vfctrIowaPC26.pkl +0 -0
- pyvisualfields-2.0.1/src/PyVisualFields/pkl_files/vfctrIowaPeri.pkl +0 -0
- pyvisualfields-2.0.1/src/PyVisualFields/pkl_files/vfctrSunyiu10d2.pkl +0 -0
- pyvisualfields-2.0.1/src/PyVisualFields/pkl_files/vfctrSunyiu24d2.pkl +0 -0
- pyvisualfields-2.0.1/src/PyVisualFields/pkl_files/vfpwgRetest24d2.pkl +0 -0
- pyvisualfields-2.0.1/src/PyVisualFields/pkl_files/vfpwgSunyiu24d2.pkl +0 -0
- pyvisualfields-2.0.1/src/PyVisualFields/pkl_files/vfseries.pkl +0 -0
- {PyVisualFields-1.0.4 → pyvisualfields-2.0.1}/src/PyVisualFields/utils.py +118 -122
- pyvisualfields-2.0.1/src/PyVisualFields/vfprogression.py +1003 -0
- pyvisualfields-2.0.1/src/PyVisualFields/visualFields.py +1688 -0
- PyVisualFields-1.0.4/README.md → pyvisualfields-2.0.1/src/PyVisualFields.egg-info/PKG-INFO +99 -23
- pyvisualfields-2.0.1/src/PyVisualFields.egg-info/SOURCES.txt +30 -0
- pyvisualfields-2.0.1/src/PyVisualFields.egg-info/requires.txt +4 -0
- PyVisualFields-1.0.4/src/PyVisualFields/__init__.py +0 -0
- PyVisualFields-1.0.4/src/PyVisualFields/vfprogression.py +0 -689
- PyVisualFields-1.0.4/src/PyVisualFields/visualFields.py +0 -1038
- PyVisualFields-1.0.4/src/PyVisualFields.egg-info/SOURCES.txt +0 -13
- PyVisualFields-1.0.4/src/PyVisualFields.egg-info/requires.txt +0 -8
- {PyVisualFields-1.0.4 → pyvisualfields-2.0.1}/license +0 -0
- {PyVisualFields-1.0.4 → pyvisualfields-2.0.1}/pyproject.toml +0 -0
- {PyVisualFields-1.0.4 → pyvisualfields-2.0.1}/setup.cfg +0 -0
- {PyVisualFields-1.0.4 → pyvisualfields-2.0.1}/src/PyVisualFields.egg-info/dependency_links.txt +0 -0
- {PyVisualFields-1.0.4 → pyvisualfields-2.0.1}/src/PyVisualFields.egg-info/top_level.txt +0 -0
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: PyVisualFields
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.1
|
|
4
4
|
Summary: A python toolkit for visual field analysis
|
|
5
5
|
Home-page: https://github.com/mohaEs/PyVisualField
|
|
6
|
-
Author: Mohammad Eslami
|
|
6
|
+
Author: Mohammad Eslami, Bharath Erusalagandi, Mousa Moradi
|
|
7
7
|
Author-email: Mohammad_eslami@meei.harvard.edu
|
|
8
8
|
Project-URL: Bug Tracker, https://github.com/mohaEs/PyVisualField/issues
|
|
9
9
|
Project-URL: Demo Normalization, https://github.com/mohaEs/PyVisualField/blob/main/demo_2_Deviation_Analysis.ipynb
|
|
10
10
|
Project-URL: Demo Plotting, https://github.com/mohaEs/PyVisualField/blob/main/demo_3_Plotting.ipynb
|
|
11
|
-
Project-URL: Demo Analysis, https://github.com/mohaEs/PyVisualField/blob/main/demo_4_Analysis.ipynb
|
|
11
|
+
Project-URL: Demo Prorgression Analysis, https://github.com/mohaEs/PyVisualField/blob/main/demo_4_Analysis.ipynb
|
|
12
12
|
Project-URL: Demo Data, https://github.com/mohaEs/PyVisualField/blob/main/demo_1_Data.ipynb
|
|
13
|
+
Project-URL: Demo Glaucoma Detection, https://github.com/mohaEs/PyVisualField/blob/main/demo5_PyGlaucoMetrics.ipynb
|
|
13
14
|
Project-URL: Harvard Ophthalmology AI LAB, https://ophai.hms.harvard.edu/
|
|
14
15
|
Classifier: Programming Language :: Python :: 3
|
|
15
16
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -17,6 +18,21 @@ Classifier: Operating System :: OS Independent
|
|
|
17
18
|
Requires-Python: >=3.6
|
|
18
19
|
Description-Content-Type: text/markdown
|
|
19
20
|
License-File: license
|
|
21
|
+
Requires-Dist: numpy
|
|
22
|
+
Requires-Dist: pandas
|
|
23
|
+
Requires-Dist: scipy
|
|
24
|
+
Requires-Dist: matplotlib
|
|
25
|
+
Dynamic: author
|
|
26
|
+
Dynamic: author-email
|
|
27
|
+
Dynamic: classifier
|
|
28
|
+
Dynamic: description
|
|
29
|
+
Dynamic: description-content-type
|
|
30
|
+
Dynamic: home-page
|
|
31
|
+
Dynamic: license-file
|
|
32
|
+
Dynamic: project-url
|
|
33
|
+
Dynamic: requires-dist
|
|
34
|
+
Dynamic: requires-python
|
|
35
|
+
Dynamic: summary
|
|
20
36
|
|
|
21
37
|
# PyVisualFields
|
|
22
38
|
|
|
@@ -26,8 +42,30 @@ This packages includes functions for visuald field analysis and display.
|
|
|
26
42
|
|
|
27
43
|
https://pypi.org/project/PyVisualFields/
|
|
28
44
|
|
|
29
|
-
|
|
45
|
+
Version 2 is R-independent while maintaining the original module organization. The modules are inspired by vfprogression (Elze et al. [1]) and visualFields (Marin-Franch et al. [2]).
|
|
46
|
+
Additionally, pyGlaucoMetric has been integrated to enable glaucoma classification based on visual field patterns.
|
|
30
47
|
|
|
48
|
+
These functions are implemented in Python, and their functionalities are demonstrated across four primary categories:
|
|
49
|
+
- Data Presentation
|
|
50
|
+
- Plotting
|
|
51
|
+
- Scoring and Progression Analysis
|
|
52
|
+
- Normalization Analysis
|
|
53
|
+
- Glaucoma Detection
|
|
54
|
+
|
|
55
|
+
For each category, we provide comprehensive Jupyter notebooks containing practical examples, detailed function descriptions, required inputs/dependencies, and expected outputs.
|
|
56
|
+
|
|
57
|
+
## Citation
|
|
58
|
+
If you found this package impactful for your research, please cite the following article:
|
|
59
|
+
- Mohammad Eslami, Saber Kazeminasab, Vishal Sharma, Yangjiani Li, Mojtaba Fazli, Mengyu Wang, Nazlee Zebardast, Tobias Elze; PyVisualFields: A Python Package for Visual Field Analysis. Trans. Vis. Sci. Tech. 2023;12(2):6. https://doi.org/10.1167/tvst.12.2.6.
|
|
60
|
+
|
|
61
|
+
and of course the corresponding sub-package:
|
|
62
|
+
- vfprogression (by Elze et al. [1])
|
|
63
|
+
- visualFields (by Marin-Granch et al. [2])
|
|
64
|
+
- pyGlaucoMetrics (by Moradi et al. [3])
|
|
65
|
+
|
|
66
|
+
## Installation:
|
|
67
|
+
|
|
68
|
+
> pip install PyVisualFields
|
|
31
69
|
|
|
32
70
|
## Demo jupyter notebooks
|
|
33
71
|
|
|
@@ -35,39 +73,33 @@ The list and description of all functions are available at [All_Functions](#list
|
|
|
35
73
|
- Data [demo_1_Data.ipynb](demo_1_Data.ipynb)
|
|
36
74
|
- Normalization and deviation analysis [demo_2_Deviation_Analysis.ipynb](demo_2_Deviation_Analysis.ipynb)
|
|
37
75
|
- Plotting [demo_3_Plotting.ipynb](demo_3_Plotting.ipynb)
|
|
38
|
-
- Analysis [demo_4_Analysis.ipynb](demo_4_Analysis.ipynb)
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
## Installation:
|
|
43
|
-
This python package depends on
|
|
44
|
-
- R
|
|
45
|
-
- rpy2 python package
|
|
46
|
-
- vfprogression R package
|
|
47
|
-
- visualFields R package
|
|
48
|
-
|
|
49
|
-
Make sure to install them before installing this PyVisualFields package:
|
|
76
|
+
- Progression Analysis [demo_4_Analysis.ipynb](demo_4_Analysis.ipynb)
|
|
77
|
+
- Glaucoma Detection [demo5_PyGlaucoMetrics.ipynb](demo5_PyGlaucoMetrics.ipynb) </br>
|
|
50
78
|
|
|
51
|
-
|
|
52
|
-
|
|
79
|
+
__Notice:__ PyGlaucoMetric is also available as a seperatre PyPI package and GitHub repository (built upon PyVisualFields), which includes a graphical user interface (GUI) for progression analysis and glaucoma detection. Indeed PyVisualFields is designed as a developer-facing package library, while pyGlaucoMetric serves as an accessible GUI application implementing selected visual field analysis components.
|
|
80
|
+
https://github.com/Mousamoradi/PyGlaucoMetrics
|
|
53
81
|
|
|
54
|
-
- If you have your preinstalled R or rpy2, follow the steps provided in our guideline: [readme_Installation.md](https://github.com/mohaEs/PyVisualField/blob/main/readme_Installation.md)
|
|
55
82
|
|
|
56
83
|
## references:
|
|
57
84
|
[1] https://cran.r-project.org/web/packages/vfprogression/index.html </br>
|
|
58
|
-
[2] https://cran.r-project.org/web/packages/visualFields/index.html
|
|
59
|
-
|
|
85
|
+
[2] https://cran.r-project.org/web/packages/visualFields/index.html </br>
|
|
86
|
+
[3] Moradi, Mousa, Saber Kazeminasab Hashemabad, Daniel M. Vu, Allison R. Soneru, Asahi Fujita, Mengyu Wang, Tobias Elze, Mohammad Eslami, and Nazlee Zebardast. 2025. "PyGlaucoMetrics: A Stacked Weight-Based Machine Learning Approach for Glaucoma Detection Using Visual Field Data" Medicina 61, no. 3: 541. https://doi.org/10.3390/medicina61030541
|
|
60
87
|
</br>
|
|
61
88
|
|
|
62
|
-

|
|
63
|
-
|
|
64
89
|
|
|
65
90
|
## list of functions
|
|
66
|
-
The list and description of all functions are as follow. They are all examined and introduced with examples in 4 different notebooks. It is important to mention that, based on the background
|
|
91
|
+
The list and description of all functions are as follow. They are all examined and introduced with examples in 4 different notebooks. It is important to mention that, based on the background modules, the input VF dataframe needs to have columns with special column names. Make sure, to consider the data notebook. If further information is required, see the corresponding references: _vfprogression[1]_, _visualFields[2]_ </br>
|
|
67
92
|
- Data [demo_1_Data.ipynb](demo_1_Data.ipynb)
|
|
68
93
|
- Normalization and deviation analysis [demo_2_Deviation_Analysis.ipynb](demo_2_Deviation_Analysis.ipynb)
|
|
69
94
|
- Plotting [demo_3_Plotting.ipynb](demo_3_Plotting.ipynb)
|
|
70
|
-
- Analysis [demo_4_Analysis.ipynb](demo_4_Analysis.ipynb)
|
|
95
|
+
- Progression Analysis [demo_4_Analysis.ipynb](demo_4_Analysis.ipynb)
|
|
96
|
+
- Glaucoma Detection [demo5_PyGlaucoMetrics.ipynb](demo5_PyGlaucoMetrics.ipynb)
|
|
97
|
+
</br>
|
|
98
|
+
|
|
99
|
+
### Notice:
|
|
100
|
+
Version 2 has been validated exclusively for the 24-2 format. Additionally, the system assumes all visual field measurements are provided in right eye (OD) format.
|
|
101
|
+
|
|
102
|
+
Functions based on _vfprogression_ package accept 24-2 or 30-2 visual field measurement while functions based on _visualFields_ also accept 10-2.
|
|
71
103
|
|
|
72
104
|
</br>
|
|
73
105
|
|
|
@@ -120,5 +152,29 @@ The list and description of all functions are as follow. They are all examined a
|
|
|
120
152
|
- visualFields.getglp() ----------- alias for getallvalues only to compute gi ----------- _visualFields[2]_
|
|
121
153
|
- visualFields.get_info_normvals() ----------- Get all avialbale predefined normalization environments/settings ----------- _visualFields[2]_
|
|
122
154
|
- visualFields.setnv() ----------- change/set normalization environment based on a predefined NV ----------- _visualFields[2]_
|
|
123
|
-
- visualFields.nvgenerate ----------- generate a normalization environment based new data ----------- _visualFields[2]_
|
|
155
|
+
- visualFields.nvgenerate ----------- generate a normalization environment based new data ----------- _visualFields[2]_</br></br>
|
|
156
|
+
|
|
157
|
+
- PyGlaucoMetrics.Fn_HAP2 ----------- determine glaucoma cases based on criteria: HAP2 ----------- PyGlaucoMetrics[3]_
|
|
158
|
+
- PyGlaucoMetrics.Fn_UKGTS ----------- determine glaucoma cases based on criteria: UKGTS ----------- PyGlaucoMetrics[3]_
|
|
159
|
+
- PyGlaucoMetrics.Fn_LoGTS ----------- determine glaucoma cases based on criteria: LoGTS ----------- PyGlaucoMetrics[3]_
|
|
160
|
+
- PyGlaucoMetrics.Fn_Foster ----------- determine glaucoma cases based on criteria: Foster ----------- PyGlaucoMetrics[3]_
|
|
161
|
+
- PyGlaucoMetrics.Fn_Kangs ----------- determine glaucoma cases based on criteria: Kangs ----------- PyGlaucoMetrics[3]_
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
## Snapshots
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
<img src="./imgs/1_(12).png" width="50%">
|
|
169
|
+
<img src="./imgs/1_(11).png" width="50%">
|
|
170
|
+
<img src="./imgs/1_(1).png" width="50%">
|
|
171
|
+
<img src="./imgs/1_(2).png" width="50%">
|
|
172
|
+
<img src="./imgs/1_(3).png" width="50%">
|
|
173
|
+
<img src="./imgs/1_(4).png" width="50%">
|
|
174
|
+
<img src="./imgs/1_(5).png" width="50%">
|
|
175
|
+
<img src="./imgs/1_(10).png" width="50%">
|
|
176
|
+
<img src="./imgs/1_(6).png" width="50%">
|
|
177
|
+
<img src="./imgs/1_(8).png" width="50%">
|
|
178
|
+
<img src="./imgs/1_(14).png" width="50%">
|
|
179
|
+
<img src="./imgs/1_(13).png" width="50%">
|
|
124
180
|
|
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: PyVisualFields
|
|
3
|
-
Version: 1.0.4
|
|
4
|
-
Summary: A python toolkit for visual field analysis
|
|
5
|
-
Home-page: https://github.com/mohaEs/PyVisualField
|
|
6
|
-
Author: Mohammad Eslami
|
|
7
|
-
Author-email: Mohammad_eslami@meei.harvard.edu
|
|
8
|
-
Project-URL: Bug Tracker, https://github.com/mohaEs/PyVisualField/issues
|
|
9
|
-
Project-URL: Demo Normalization, https://github.com/mohaEs/PyVisualField/blob/main/demo_2_Deviation_Analysis.ipynb
|
|
10
|
-
Project-URL: Demo Plotting, https://github.com/mohaEs/PyVisualField/blob/main/demo_3_Plotting.ipynb
|
|
11
|
-
Project-URL: Demo Analysis, https://github.com/mohaEs/PyVisualField/blob/main/demo_4_Analysis.ipynb
|
|
12
|
-
Project-URL: Demo Data, https://github.com/mohaEs/PyVisualField/blob/main/demo_1_Data.ipynb
|
|
13
|
-
Project-URL: Harvard Ophthalmology AI LAB, https://ophai.hms.harvard.edu/
|
|
14
|
-
Classifier: Programming Language :: Python :: 3
|
|
15
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
-
Classifier: Operating System :: OS Independent
|
|
17
|
-
Requires-Python: >=3.6
|
|
18
|
-
Description-Content-Type: text/markdown
|
|
19
|
-
License-File: license
|
|
20
|
-
|
|
21
1
|
# PyVisualFields
|
|
22
2
|
|
|
23
3
|
## A python tool collection for analyzing visual fields
|
|
@@ -26,8 +6,30 @@ This packages includes functions for visuald field analysis and display.
|
|
|
26
6
|
|
|
27
7
|
https://pypi.org/project/PyVisualFields/
|
|
28
8
|
|
|
29
|
-
|
|
9
|
+
Version 2 is R-independent while maintaining the original module organization. The modules are inspired by vfprogression (Elze et al. [1]) and visualFields (Marin-Franch et al. [2]).
|
|
10
|
+
Additionally, pyGlaucoMetric has been integrated to enable glaucoma classification based on visual field patterns.
|
|
11
|
+
|
|
12
|
+
These functions are implemented in Python, and their functionalities are demonstrated across four primary categories:
|
|
13
|
+
- Data Presentation
|
|
14
|
+
- Plotting
|
|
15
|
+
- Scoring and Progression Analysis
|
|
16
|
+
- Normalization Analysis
|
|
17
|
+
- Glaucoma Detection
|
|
18
|
+
|
|
19
|
+
For each category, we provide comprehensive Jupyter notebooks containing practical examples, detailed function descriptions, required inputs/dependencies, and expected outputs.
|
|
20
|
+
|
|
21
|
+
## Citation
|
|
22
|
+
If you found this package impactful for your research, please cite the following article:
|
|
23
|
+
- Mohammad Eslami, Saber Kazeminasab, Vishal Sharma, Yangjiani Li, Mojtaba Fazli, Mengyu Wang, Nazlee Zebardast, Tobias Elze; PyVisualFields: A Python Package for Visual Field Analysis. Trans. Vis. Sci. Tech. 2023;12(2):6. https://doi.org/10.1167/tvst.12.2.6.
|
|
24
|
+
|
|
25
|
+
and of course the corresponding sub-package:
|
|
26
|
+
- vfprogression (by Elze et al. [1])
|
|
27
|
+
- visualFields (by Marin-Granch et al. [2])
|
|
28
|
+
- pyGlaucoMetrics (by Moradi et al. [3])
|
|
29
|
+
|
|
30
|
+
## Installation:
|
|
30
31
|
|
|
32
|
+
> pip install PyVisualFields
|
|
31
33
|
|
|
32
34
|
## Demo jupyter notebooks
|
|
33
35
|
|
|
@@ -35,39 +37,33 @@ The list and description of all functions are available at [All_Functions](#list
|
|
|
35
37
|
- Data [demo_1_Data.ipynb](demo_1_Data.ipynb)
|
|
36
38
|
- Normalization and deviation analysis [demo_2_Deviation_Analysis.ipynb](demo_2_Deviation_Analysis.ipynb)
|
|
37
39
|
- Plotting [demo_3_Plotting.ipynb](demo_3_Plotting.ipynb)
|
|
38
|
-
- Analysis [demo_4_Analysis.ipynb](demo_4_Analysis.ipynb)
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
## Installation:
|
|
43
|
-
This python package depends on
|
|
44
|
-
- R
|
|
45
|
-
- rpy2 python package
|
|
46
|
-
- vfprogression R package
|
|
47
|
-
- visualFields R package
|
|
48
|
-
|
|
49
|
-
Make sure to install them before installing this PyVisualFields package:
|
|
40
|
+
- Progression Analysis [demo_4_Analysis.ipynb](demo_4_Analysis.ipynb)
|
|
41
|
+
- Glaucoma Detection [demo5_PyGlaucoMetrics.ipynb](demo5_PyGlaucoMetrics.ipynb) </br>
|
|
50
42
|
|
|
51
|
-
|
|
52
|
-
|
|
43
|
+
__Notice:__ PyGlaucoMetric is also available as a seperatre PyPI package and GitHub repository (built upon PyVisualFields), which includes a graphical user interface (GUI) for progression analysis and glaucoma detection. Indeed PyVisualFields is designed as a developer-facing package library, while pyGlaucoMetric serves as an accessible GUI application implementing selected visual field analysis components.
|
|
44
|
+
https://github.com/Mousamoradi/PyGlaucoMetrics
|
|
53
45
|
|
|
54
|
-
- If you have your preinstalled R or rpy2, follow the steps provided in our guideline: [readme_Installation.md](https://github.com/mohaEs/PyVisualField/blob/main/readme_Installation.md)
|
|
55
46
|
|
|
56
47
|
## references:
|
|
57
48
|
[1] https://cran.r-project.org/web/packages/vfprogression/index.html </br>
|
|
58
|
-
[2] https://cran.r-project.org/web/packages/visualFields/index.html
|
|
59
|
-
|
|
49
|
+
[2] https://cran.r-project.org/web/packages/visualFields/index.html </br>
|
|
50
|
+
[3] Moradi, Mousa, Saber Kazeminasab Hashemabad, Daniel M. Vu, Allison R. Soneru, Asahi Fujita, Mengyu Wang, Tobias Elze, Mohammad Eslami, and Nazlee Zebardast. 2025. "PyGlaucoMetrics: A Stacked Weight-Based Machine Learning Approach for Glaucoma Detection Using Visual Field Data" Medicina 61, no. 3: 541. https://doi.org/10.3390/medicina61030541
|
|
60
51
|
</br>
|
|
61
52
|
|
|
62
|
-

|
|
63
|
-
|
|
64
53
|
|
|
65
54
|
## list of functions
|
|
66
|
-
The list and description of all functions are as follow. They are all examined and introduced with examples in 4 different notebooks. It is important to mention that, based on the background
|
|
55
|
+
The list and description of all functions are as follow. They are all examined and introduced with examples in 4 different notebooks. It is important to mention that, based on the background modules, the input VF dataframe needs to have columns with special column names. Make sure, to consider the data notebook. If further information is required, see the corresponding references: _vfprogression[1]_, _visualFields[2]_ </br>
|
|
67
56
|
- Data [demo_1_Data.ipynb](demo_1_Data.ipynb)
|
|
68
57
|
- Normalization and deviation analysis [demo_2_Deviation_Analysis.ipynb](demo_2_Deviation_Analysis.ipynb)
|
|
69
58
|
- Plotting [demo_3_Plotting.ipynb](demo_3_Plotting.ipynb)
|
|
70
|
-
- Analysis [demo_4_Analysis.ipynb](demo_4_Analysis.ipynb)
|
|
59
|
+
- Progression Analysis [demo_4_Analysis.ipynb](demo_4_Analysis.ipynb)
|
|
60
|
+
- Glaucoma Detection [demo5_PyGlaucoMetrics.ipynb](demo5_PyGlaucoMetrics.ipynb)
|
|
61
|
+
</br>
|
|
62
|
+
|
|
63
|
+
### Notice:
|
|
64
|
+
Version 2 has been validated exclusively for the 24-2 format. Additionally, the system assumes all visual field measurements are provided in right eye (OD) format.
|
|
65
|
+
|
|
66
|
+
Functions based on _vfprogression_ package accept 24-2 or 30-2 visual field measurement while functions based on _visualFields_ also accept 10-2.
|
|
71
67
|
|
|
72
68
|
</br>
|
|
73
69
|
|
|
@@ -120,5 +116,29 @@ The list and description of all functions are as follow. They are all examined a
|
|
|
120
116
|
- visualFields.getglp() ----------- alias for getallvalues only to compute gi ----------- _visualFields[2]_
|
|
121
117
|
- visualFields.get_info_normvals() ----------- Get all avialbale predefined normalization environments/settings ----------- _visualFields[2]_
|
|
122
118
|
- visualFields.setnv() ----------- change/set normalization environment based on a predefined NV ----------- _visualFields[2]_
|
|
123
|
-
- visualFields.nvgenerate ----------- generate a normalization environment based new data ----------- _visualFields[2]_
|
|
119
|
+
- visualFields.nvgenerate ----------- generate a normalization environment based new data ----------- _visualFields[2]_</br></br>
|
|
120
|
+
|
|
121
|
+
- PyGlaucoMetrics.Fn_HAP2 ----------- determine glaucoma cases based on criteria: HAP2 ----------- PyGlaucoMetrics[3]_
|
|
122
|
+
- PyGlaucoMetrics.Fn_UKGTS ----------- determine glaucoma cases based on criteria: UKGTS ----------- PyGlaucoMetrics[3]_
|
|
123
|
+
- PyGlaucoMetrics.Fn_LoGTS ----------- determine glaucoma cases based on criteria: LoGTS ----------- PyGlaucoMetrics[3]_
|
|
124
|
+
- PyGlaucoMetrics.Fn_Foster ----------- determine glaucoma cases based on criteria: Foster ----------- PyGlaucoMetrics[3]_
|
|
125
|
+
- PyGlaucoMetrics.Fn_Kangs ----------- determine glaucoma cases based on criteria: Kangs ----------- PyGlaucoMetrics[3]_
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
## Snapshots
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
<img src="./imgs/1_(12).png" width="50%">
|
|
133
|
+
<img src="./imgs/1_(11).png" width="50%">
|
|
134
|
+
<img src="./imgs/1_(1).png" width="50%">
|
|
135
|
+
<img src="./imgs/1_(2).png" width="50%">
|
|
136
|
+
<img src="./imgs/1_(3).png" width="50%">
|
|
137
|
+
<img src="./imgs/1_(4).png" width="50%">
|
|
138
|
+
<img src="./imgs/1_(5).png" width="50%">
|
|
139
|
+
<img src="./imgs/1_(10).png" width="50%">
|
|
140
|
+
<img src="./imgs/1_(6).png" width="50%">
|
|
141
|
+
<img src="./imgs/1_(8).png" width="50%">
|
|
142
|
+
<img src="./imgs/1_(14).png" width="50%">
|
|
143
|
+
<img src="./imgs/1_(13).png" width="50%">
|
|
124
144
|
|
|
@@ -5,8 +5,8 @@ with open("README.md", "r", encoding="utf-8") as fh:
|
|
|
5
5
|
|
|
6
6
|
setuptools.setup(
|
|
7
7
|
name="PyVisualFields",
|
|
8
|
-
version="
|
|
9
|
-
author="Mohammad Eslami",
|
|
8
|
+
version="2.0.1",
|
|
9
|
+
author="Mohammad Eslami, Bharath Erusalagandi, Mousa Moradi",
|
|
10
10
|
author_email="Mohammad_eslami@meei.harvard.edu",
|
|
11
11
|
description="A python toolkit for visual field analysis",
|
|
12
12
|
long_description=long_description,
|
|
@@ -16,8 +16,9 @@ setuptools.setup(
|
|
|
16
16
|
"Bug Tracker": "https://github.com/mohaEs/PyVisualField/issues",
|
|
17
17
|
"Demo Normalization": "https://github.com/mohaEs/PyVisualField/blob/main/demo_2_Deviation_Analysis.ipynb",
|
|
18
18
|
"Demo Plotting": "https://github.com/mohaEs/PyVisualField/blob/main/demo_3_Plotting.ipynb",
|
|
19
|
-
"Demo Analysis": "https://github.com/mohaEs/PyVisualField/blob/main/demo_4_Analysis.ipynb",
|
|
19
|
+
"Demo Prorgression Analysis": "https://github.com/mohaEs/PyVisualField/blob/main/demo_4_Analysis.ipynb",
|
|
20
20
|
"Demo Data": "https://github.com/mohaEs/PyVisualField/blob/main/demo_1_Data.ipynb",
|
|
21
|
+
"Demo Glaucoma Detection": "https://github.com/mohaEs/PyVisualField/blob/main/demo5_PyGlaucoMetrics.ipynb",
|
|
21
22
|
"Harvard Ophthalmology AI LAB": "https://ophai.hms.harvard.edu/"
|
|
22
23
|
},
|
|
23
24
|
classifiers=[
|
|
@@ -27,14 +28,18 @@ setuptools.setup(
|
|
|
27
28
|
],
|
|
28
29
|
package_dir={"": "src"},
|
|
29
30
|
packages=setuptools.find_packages(where="src"),
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
include_package_data=True,
|
|
32
|
+
package_data={
|
|
33
|
+
"PyVisualFields": [
|
|
34
|
+
"pkl_files/*.pkl",
|
|
35
|
+
"pkl_files/*.json",
|
|
36
|
+
],
|
|
37
|
+
},
|
|
38
|
+
install_requires = [
|
|
39
|
+
"numpy",
|
|
40
|
+
"pandas",
|
|
41
|
+
"scipy",
|
|
42
|
+
"matplotlib",
|
|
43
|
+
],
|
|
38
44
|
python_requires=">=3.6",
|
|
39
45
|
)
|
|
40
|
-
|