CHANGELOG
v0.12.2 (2023-11-15)
Build
-
build(_quality.yaml): removes caching of poetry (
a7c20e1
) -
build(eyepy): updates versions (
23fec54
) -
build(eyepy): removes python 3.8 from testing matrix (
b2bcf7b
) -
build(eyepy): upgrades dependencies (
e66fd8b
)
Fix
-
fix(_release.yaml): corrects python-semantic-release version (
f7171ba
) -
fix(eyemeta.py): convert dates to string for saving as json (
5d715cd
)
Refactor
-
refactor(eyevolume.py): changes skimage import of GeometricTransform (
31ce767
) -
refactor(EyeVolume): rename method from remove_pixel_annotations to remove_pixel_annotation (
6727a60
)
v0.12.1 (2023-09-26)
Ci
- ci(PythonSemanticRelease): update python semantic release to v8; minor change to README; added support for py3.11; updated dependencies (
d4e65a8
)
Fix
- fix(vol_reader.py): get number of read layers from file context instead of assuming 17 layers. (
2b53a33
)
v0.12.0 (2023-05-31)
Breaking
- build(eyepy): switch from eyepie to eyepy as a package name on PyPI
Thanks to @dillongwozdz for transfering the eyepy name to us.
BREAKING CHANGE: (8d07a17
)
Ci
- ci(github/workflows): update github actions (setup-python to v4, checkout to v3, cache to v3) (
1727f51
)
v0.11.3 (2023-04-04)
Documentation
- docs(README.md;-cookbook.md): Add examples for importing data from different sources (
2a71e11
)
Fix
- fix(eyepy.io): fixes duke layer heights import (
eb18f2a
)
v0.11.2 (2023-04-02)
Fix
-
fix(EyeVolume): fix saving, old method sometimes tried to recursively add the archive to the archive (
e6064cc
) -
fix(import_duke_mat): fixes age parsing from duke data (
ecbcbc2
)
v0.11.1 (2023-03-31)
Fix
- fix(EyeVolumeMeta): fixes saving issue by storing all dates as string in isoformat to avoid problems with dumping to json and loading (
3fc7424
)
v0.11.0 (2023-03-30)
Feature
-
feat(io.init.py): adds support for topcon fda files (#12)
-
NF: add basic support for fda files
-
refactor(main-and-io-module-init-files): specify topcon as vendor in fda import function
-
feat(io.init.py): add bscan metadata to returned eye volume
before the fda reader only parsed bscans and segmentation. These changes incorporate scaling and bscan position in fundus images.
- feat(io.init.py): add fundus image to eyevolume
the changes allow to create a full EyeVolume with fundus image and metadata
- style(io.init.py): remove double quotes
Co-authored-by: Olivier Morelle <Oli4@users.noreply.github.com> (53f2908
)
v0.10.0 (2023-03-30)
Ci
- ci(.github): add pre-commit checking to quality workflow and call quality workflow for pull requests (
9e47a09
)
Documentation
- docs(core.annotations): adds docstrings (
236c074
)
Feature
- feat(core.plotting): adds a scale bar and a watermark to Bscan and Fundus visualizations (
0e3eaa0
)
Fix
- fix(eyepy.core): fixes bscan_region and bscan_position plotting when plotting only a part of the fundus
also adds new header_gif to the README (2c88074
)
- fix(core.grids.py): fixes error related to python 3.8 not supporting new type annotation Dict-dict List-list (
3c6ba41
)
Style
- style(eyepy): applys improved pre-commit style guides
adds dostrings formatting via docformatter \n unifies single/double quotes \n upgrades type hints to be pep585 compliant (28b1b4c
)
v0.9.2 (2023-03-17)
Documentation
-
docs(eyepy.core): adds type annotations to all objects in the core subpackage (
ea1cb4c
) -
docs(annotations.py): adds type annotations to all objects in this module (
986f9bc
)
Fix
- fix(e2e_reader.py): makes exception formatting compatible with python < 3.10 (
2c4cbb0
)
v0.9.1 (2023-03-15)
Ci
- ci(ci.yaml): set python version to 3.10 for building and deploying documentation (
b6feb0d
)
Documentation
- docs(README.md): clarify that the localizer is a fundus image (
4e41acd
)
Fix
-
fix(e2e_reader.py): extract number of Bscans more reliably by using the number of slice substructures; Skip localizer affine transformation for now, because slodata is not always available; support reading single B-scan data (
1287a24
) -
fix(e2e_format.py): change the name of E2EFile to E2EFormat to avoid confustion with E2EFileStructure in e2e_reader.py (
01be6a0
)
v0.9.0 (2023-03-09)
Breaking
- feat(HeE2EReader): switch to construct_typed for describing structures; create file hierarchy when parsing the E2E file; add search functions to the HeE2eReader
BREAKING CHANGE: (45578a5
)
Documentation
- docs(documentation): improve documentation; rename Voxel/Area Annotation to PixelAnnotation for consistency (
ab38837
)
Feature
- feat(eyepy.io.utils.py): add functions to search for integer/float values in binary data; set relative tolerance for Bscan distance to 4% (fixes sample data warning) (
96fd58b
)
Fix
-
fix(HeE2eReader): fix issues with inspect after renaming classes (
891c79c
) -
fix(init.py): exclude init.py from isort to prevent circular import (
9254231
) -
fix(pyproject.toml): add imageio as dependency and umpgrade imagecodecs to latest version (
bef44a0
)
v0.8.1 (2023-02-22)
Fix
- fix(pyproject.toml): increase allowed version range for numpy (fixes #10) (
c66f6f6
)
v0.8.0 (2023-02-13)
Build
- build(pyproject.toml): add itk as optional dependency to read RETOUCH data and pygifsicle as dev dependency to optimize the header.gif (
ccf0d8e
)
Documentation
-
docs(README.md-/-Cookbook): Add header image to README (
7501dde
) -
docs(README-and-Cookbook): fix import of load function in examples (
e623c4b
)
Feature
-
feat(eyepy.core): reflect plotted region in x and y axis for both localizer and B-scan; check if bscan_region bscan position indicators are in plotting region (
2842424
) -
feat(eyepy.io): fix imagio warnings; raise ValueError for scan-pattern 2 and 5 instead of warning; set maxint to NAN when reading XML layers; fix bscan order in layer data (vol_reader) (
c4a88e7
)
Fix
-
fix(src/eyepy/io): convert very large layer heights indicating no valid layer to np.nan (
352a984
) -
fix(eyepy.core): make sure ticklabels match plotted image region for EyeEnfac ande EyeBscan plots (
f389f47
) -
fix(eyepy.core.utils.py): ignore nans in layers when computing drusen from layer heights (
3c4efcd
) -
fix(eyepy.core): set axis in all layer height maps to (n_bscans, width)
Layer in the sample were not correctly oriented due to a different axis order in the HeXMLReader (3493b0e
)
Style
- style(eyepy/config.py): change default color of bscan region and bscan position indicators from green to limegreen because of better visibility (
3658a11
)
Test
- test(test_eyevolume.py): correct indexing of layer data
The first axis (bscan axis) of the layer data was flipped to reflect B-scan indexing. Therefore layers have to be flipped now when computing drusen and projecting on the localizer. (d186317
)
v0.7.0 (2023-02-10)
Breaking
- refactor(eyepy): work in progress
BREAKING CHANGE: (c942c6b
)
Ci
-
ci(pyproject.yaml): fix semantic release (
daaea19
) -
ci(ci.yaml): fix syntax (
c2647c6
) -
ci(ci.yaml): fix dependencies (
7d4eb5f
) -
ci(ci.yaml): fix mkdocs deployment dependencies (
a70a216
) -
ci(quality-check): upgrade poetry version (
aedd680
)
Documentation
-
docs(README-and-Cookbook): clean up (
183b317
) -
docs(eyepy): add docstrings and cookbook examples (
3b6ce5d
) -
docs(formats): e2e documentation (
059d67b
)
Feature
- feat(HeE2eReader): read E2E volumes (
9094890
)
Fix
-
fix(eyepy): do not use list and tuple for type annotations python 3.8 only supports List / Tuple (
cc6dfee
) -
fix(region-plotting): remove EllipsisType from allowed types for the region parameter since its not supported in python 3.8 (
fac7849
)
Refactor
- refactor(eyepy): Use isort with google style for imports and yapf for code formating (
47f9330
)
Test
-
test(eyevolume): skip save load test for now (
bd58274
) -
test(test_eyevolume): change delete to remove in function names (
4804dc9
) -
test(eyevolume): skip Vol writing for now (
cbdc97e
)
v0.6.8 (2022-09-15)
Fix
- fix(eyepy): update pre-commit; remove itk from dependencies
itk was used to read the RETOUCH dataset and might be added as an extra dependency (0339fb6
)
Refactor
- refactor(EyeVolumeVoxelAnnotation): simplify code for plotting (
355e7f6
)
v0.6.7 (2022-06-03)
Fix
- fix(eyevolume.py): remove reformating of knot data in load - eyelab now does it if needed (
35060ab
)
v0.6.6 (2022-06-03)
Fix
- fix(eyevolume): auto convert old layer curves (
7842120
)
v0.6.5 (2022-04-21)
Fix
- fix(io/utils.py): check for parallel and equal distance B-scans (
c5d68d2
)
v0.6.4 (2022-04-21)
Fix
-
fix(lazy.py): fix shape of lazy volume (
34b944f
) -
fix(eyevolume.py): enable import of B-scans with varying distances by replacing the raised Error by a warning; support deleteion of annotations (
d8b4bb8
)
Test
- test(test_grid.py): add tests for ETDRS grid creation (
c9c13d1
)
v0.6.3 (2022-03-31)
Fix
- fix(eyevolume.py): set default intensity transform if none is given (
16b44bc
)
Unknown
- Merge branch 'master' of github.com:MedVisBonn/eyepy (
e57a91e
)
v0.6.2 (2022-03-31)
Fix
- fix(eyevolume.py): add intensity_transform to the saved meta data
this is required to correctly restore saved data with non-default intensity_transform. Custom intensity transform functions can not be saved currently. (c6a2c68
)
- fix(import_retouch): transform intensities correctly
Topcon and Cirrus data is stored as UCHAR while spectralis is stored as USHORT (112d1cc
)
v0.6.1 (2022-03-26)
Documentation
- docs(README.md): add DOI badge (
c4d046b
)
Fix
- fix(pyproject.toml): set minimum python version to 3.7 for compatibility with pyinstaller docker container (
75c008c
)
v0.6.0 (2022-03-25)
Documentation
- docs(README.md): add Related Projects section with reference to OCT-Converter (
c273e44
)
Feature
-
feat(eyevolume): enable use of EyeVolume in eyelab (
8479628
) -
feat(eyevolume.py): enable custom intensity transformation for OCT data (
761dd5a
)
v0.4.1 (2022-02-17)
Fix
- fix(EyeVolume): fix B-scan iteration; enable setting layer heights from EyeBscan (
f982d68
)
Unknown
- Merge branch 'master' of github.com:MedVisBonn/eyepy (
a63cdd8
)
v0.4.0 (2022-02-17)
Breaking
- refactor(everything): Refactor for easier to maintain code
CI based on Github workflows, EyeVolume class as a standard way for handling OCT volumes, support for HEXEX VOL/XML, Bscans from folder, DUKE and RETOUCH data
BREAKING CHANGE: (117ef89
)
v0.3.7 (2022-01-31)
Fix
- fix(base): fix error when plotting volumes without drusen; fix visibility of drusen projection (
9c08c72
)
Unknown
v0.3.6 (2021-10-14)
Fix
- fix(drusen.py): fix the drusen height filtering (
4d1b375
)
v0.3.5 (2021-08-16)
Fix
- fix(DefaultEyeQuantifier): enable radii change for default quantifier (
ca8aff3
)
Unknown
- Merge branch 'master' of github.com:MedVisBonn/eyepy (
de0aba3
)
v0.3.4 (2021-08-16)
Fix
- fix: fix the reference (
eadf100
)
v0.3.3 (2021-08-16)
Fix
- fix(io/heyex/xml_export): initalize empty LayerAnnotation if no annotation is provided (
6626467
)
Unknown
- Merge branch 'master' of github.com:MedVisBonn/eyepy (
d4dc744
)
v0.3.2 (2021-08-16)
Fix
- fix(eyepy/io/heyex): allow unknown heyex xml versions
show a warning and use the base XML specification for HEYEX XML exports (5c51b46
)
Unknown
- Merge branch 'master' of github.com:MedVisBonn/eyepy (
54e0a6c
)
v0.3.1 (2021-05-18)
Fix
- fix(base.py): fix layer mapping in case LayerAnnotation does not contain all layers (
5e8621e
)
Unknown
- Merge remote-tracking branch 'origin/master'
Conflicts:
eyepy/core/drusen.py (569a9ed
)
v0.3.0 (2021-03-19)
Feature
- feat(drusen.py): added new histogram based DrusenFinder and made it the new default
The old default is renamed to DrusenFinderPolyFit. The new method estimates a single iRPE distance to the BM for the complete volume. We found that the iRPE found like this has a similar distance to the BM as the RPE in healthy regions hasto the BM. The iRPE computed by the old method has a larger difference to the BM. (9a3e667
)
v0.2.6 (2021-03-12)
Fix
- fix(base.py): fixed bugs for oat (
7e10ab3
)
Unknown
-
Merge branch 'master' of github.com:MedVisBonn/eyepy (
64e6f46
) -
Layer annotation works with DB sync (
e676eec
) -
Upload and show line annotations (
7386893
) -
Lines and Areas Groups; Import of vol, xml and bscan folder; bug fixes; annotation view active image indicator; (
d858a6f
)
v0.2.5 (2021-02-11)
Fix
- fix(docs): add requirements.txt for docs
readthedocs nee to know the dependencies for building the documentation (8008c63
)
v0.2.4 (2021-02-11)
Fix
-
fix(travis.yml): removed --user option (
f68df9e
) -
fix(travis.yml): switch to new pip version to properly resolve twine dependencies (
7215226
)
Unknown
- Merge branch 'master' of github.com:MedVisBonn/eyepy (
d14ef68
)
v0.2.3 (2021-02-11)
Fix
- fix(docs): remove eyepy as requirement for building docs (
05d6293
)
v0.2.2 (2021-02-11)
Fix
- fix(setup.py-eyepy/init.py): make sure the version numbers match (
7357f11
)
Style
- style(project): run pre-commit hooks and cleaned documentation (
a882ad4
)
Unknown
- Merge branch 'master' of github.com:MedVisBonn/eyepy (
edd53a0
)
v0.2.1 (2021-02-11)
Fix
- fix(core.drusen.py): use logging module instead of prints in this package (
978fa11
)
v0.2.0 (2021-02-11)
Breaking
- fix: changed enface to localizer in OCT object
BREAKING CHANGE: (bf6ecd2
)
- refactor(eyepy/core/base.py): rename enface to localizer in Oct object for more consistency
BREAKING CHANGE: (09f8746
)
Unknown
- Merge branch 'master' of github.com:MedVisBonn/eyepy (
710d6d8
)
v0.1.6 (2021-02-10)
Ci
-
ci(Travis-CI): changed supported versions and location of version string (
397deca
) -
ci: add changed files before commiting (
8e1cb24
)
Documentation
- docs(readme): added eyepy logo to readme.rst and removed readme.md (
bc3e19d
)
Fix
-
fix(.travis.yml): another fix (
79e3332
) -
fix(.travis.yml): fixed yaml problem (
28eac5e
) -
fix(ci-testing): test whether a fix triggers the travic ci build
no significant changes (718e9ee
)
Refactor
-
refactor(registration): Added rigid registration of multimodal images based on mean phase images and HOG features. Also added an examplary notebook (
7ce9ebd
) -
refactor(project): added 2D rigid registration (
67f5908
)
Style
- style: removed index.html files (
81bf883
)
Unknown
-
Another try (
a450ec6
) -
Changed project name from eyepy to eyepie for PyPi (
64313c4
) -
Setting up pypi upload (
88a6a33
) -
work in progress (
b6833a1
) -
Added annotation comparison (
1bb8f33
) -
small changes (
ae3b464
) -
unknown (
b518e0c
) -
Fixed drusen filters (
c265d6c
) -
Severall small fixes and improvements (
161ecb4
) -
many small improvements; drusen computation now in 4s instead of 90s (
cbae8db
) -
layer ploting with region works (
fb67ede
) -
minor change (
a1fa0bb
) -
default Annotation for B-Scan (
758d23f
) -
some changes (
8935ab4
) -
Default empty LayerAnnotation works (
72a6a43
) -
fix the layer annotation fix :/ (
fa5ee81
) -
Added default empty layer annotation and fixed Oct.layer (
5c8a395
) -
Assume square area for OCT if no enface and or no layer positions are given; Enabled changing the layer annotations (
5e244f0
) -
Added name to Bscan. If B-Scans are save as individual files, this is the respective filename, else it becomes a string version of the B-Scan index (
0b09ebe
) -
Merge remote-tracking branch 'public/master' (
dd352c6
) -
added layer_indices property to Bscan (
bd4f669
) -
Merge remote-tracking branch 'public/master' (
64db876
) -
Imports fixed (
cb2759a
) -
Merge remote-tracking branch 'public/master'
Conflicts:
eyepy/core/base.py (1b4de44
)
-
Rewrite Heyex vol and xml readers. Clean up (
f97da6e
) -
Merge remote-tracking branch 'public/master'
Conflicts:
eyepy/core/octbase.py
eyepy/io/heyex/he_xml.py (965bc45
)
-
minor fix (
b1b97f3
) -
minor fix (
266f837
) -
added drusen depth filter (
8acd827
) -
bumbed version (
5a1000a
) -
Added drusen saving in data_path/.eyepy folder. Added function to recompute drusen if needed with a custom drusenfinder (
40ed65d
) -
Merge remote-tracking branch 'origin/master' into dev
Conflicts:
eyepy/core/drusen.py (69a6f71
)
-
Drusen depth filter added (
d33f0d6
) -
layer_indices and enface filename (
2ee6f41
) -
Work in progress, adding reading functionallity for bscan only folders (
8d859c0
) -
Changed Repository (
5e0aa32
) -
Merge branch 'dev'
Conflicts:
eyepy/preprocess/loggabor.py (1368604
)
-
Added DefaultEyeQuantifier and improved plotting (
a00b25a
) -
Minor fixes and clean up (
2ce4962
) -
Removed code duplication (
c02d2dd
) -
Added EyeQuantifier and DefaultEyeQuantifier for standard drusen quantification (
6b33b6f
) -
Added loader for sample data (
451586d
) -
Added DrusenFinder to octbase (
46ec78c
) -
Work in progress on the DrusenFinder (
bb69833
) -
When loading B-Scans assume image has 2 dimensions. In case it as 3 dimensions (last dimension for RGB) keep only the R array (
0290a7b
) -
minor fix (
04f8d6b
) -
Merge branch 'master' into merge_to_public
Conflicts:
setup.py (b300bd6
)
-
added drusen metrics and fixed drusen computation (
1e38f65
) -
Drusen code is clean, tests missing (
c28de74
) -
Started to add drusen computation from layer segmentation. (
5e8d511
) -
Store only one channel of the loaded bscan (
b7d0827
) -
Added seaborn dependcy (
9e41356
) -
relaxed dependencies for now (
c2a3ed8
) -
initial commit (
c0cb0ca
) -
minor plotting changes (
ceb5fed
) -
fixed specification for vol files (
0afb7ee
) -
bug fixes and reorganization (
2a1dde1
) -
latest changes (
39ccccd
) -
old changes (
2ca90dc
) -
Added base classes for Oct and Bscan objects which define the interface and deliver basic plotting functionality (
a5f82df
) -
Fixed parsing B-Scans for the Heyex XML export (
70b101c
) -
read Heyex XML exports with the same class as the Heyex VOL export. This makes both exports accessible using the same interface (
b05b3a0
) -
memory mapped file for reading .vol (
37b31d5
) -
fixed comma (
efb4dc7
) -
Added support for reading segmentations from .vol (
5cebe5e
) -
Merge remote-tracking branch 'origin/master'
Conflicts:
docs/conf.py
eyepy/io/init.py
eyepy/io/base.py
eyepy/io/he_vol.py (95eb730
)
-
HeyexOct docstring (
f539013
) -
Added sphinx extensions for numpy style docstrings (napoleon) and typehints (sphinx_autodoc_typehints) (
8faa2d7
) -
Documentation and clean up in progress (
8770649
) -
Rewrite vol import (
d9b138e
) -
changes to the filtergrid to use it more flexible (
5c3c0a7
) -
Another commit (
64e1d1b
) -
new approach (
9d883af
) -
registartion progress (
5705254
) -
log gabor completeted (
7f42ea6
) -
... (
f5b451a
) -
progress on registration (
8fb4755
) -
progress on log gabor (
51e5205
) -
work in progress register nir/cfp (
b09762d
) -
Project init (
ad34732
) -
Initial commit (
d1b9af2
)