Skip to content

Release Notes

2.0.4 [2025-12-23]

Fixes:

  • Added linux-libc-dev package to Docker image to resolve build dependencies

Documentation:

  • Fixed line length formatting in pre-commit hook documentation in CONTRIBUTING.md

2.0.3 [2025-12-16]

Maintenance:

  • Updated dependencies to address known vulnerabilities
  • Updated repository URL from flywheel-io/flywheel-apps/oct-converter to flywheel-io/scientific-solutions/gears/oct-converter

2.0.2 [2025-09-29]

Maintenance:

  • Migrated from poetry to uv for dependency management
  • Migrated from flywheel-gear-toolkit to fw-gear library
  • Updated base Docker image from flywheel/python to ubuntu:noble
  • Updated python interpreter from python to python3
  • Implemented multi-stage Docker build with separate base, dev, and production stages
  • Configured Docker container to run as non-root user flywheel (UID 31337)
  • Added requirements-dev.txt to Docker context for development dependencies
  • Removed .env file from repository
  • Updated pre-commit hooks configuration from poetry_export to pyproject_export
  • Added eolfix and pytest pre-commit hooks
  • Reordered ruff_format and ruff hooks in pre-commit configuration
  • Updated .gitlab-ci.yml reference from SHA to sse branch
  • Updated pyproject.toml to use PEP 621 format
  • Changed build backend from poetry.core.masonry.api to hatchling.build
  • Updated setuptools dependency to >=78.1.1
  • Updated flywheel-sdk dependency constraint from ^18.1.0 to >=21.0.0,<22
  • Fixed trailing whitespace in multiple source files

Documentation:

  • Expanded CONTRIBUTING.md with detailed instructions for uv workflow, pre-commit hooks, and merge request guidelines
  • Added release notes workflow documentation with versioning examples

2.0.1 [2025-04-15]

Enhancements:

  • Adjusted E2E output so that StudyInstanceUID matches for all output files and SeriesInstanceUID matches for files with same modality and laterality
  • Improved File Meta to be more fully DICOM compliant

Fixes:

  • Fixed DICOM UID generation to properly group related scans from E2E files

Maintenance:

  • Updated oct-converter from commit ee6381f to 002459b
  • Added fw-file dependency for enhanced DICOM testing utilities

2.0.0 [2025-02-24]

Enhancements:

  • Added OCT to DICOM conversion for .e2e, .fda, .fds, .img, and .OCT file formats
  • Added support for Bioptigen .OCT files with automatic image rotation and metadata extraction
  • Added support for Optovue .OCT files with companion .txt metadata file input
  • Added configuration options img_rows, img_columns, and img_interlaced for manual control of Zeiss .img file parsing
  • Added configuration options e2e_scalex, e2e_slice_thickness, and e2e_extract_scan_repeats for manual control of Heidelberg .e2e file processing
  • Added configuration options montage_rows and montage_columns to control output image montage layout
  • Added optional file tagging via input_tag and output_tag configuration options
  • Added .npy NumPy array output with output_npy configuration option
  • Added fundus image laterality to output filename for Heidelberg .e2e files

Fixes:

  • Fixed pixel data orientation for Bioptigen .OCT DICOM output with rotation and flip correction

Maintenance:

  • Migrated from flywheel-gear-toolkit 0.1.3 to 0.6.18
  • Updated base Docker image to flywheel/python:main.0481c74f
  • Migrated from python 3.8 to 3.11
  • Updated CI/CD configuration to use flywheel-io/tools/etc/qa-ci pipeline
  • Replaced poetry dependency management with direct pip installation in Dockerfile
  • Updated pytest from 6.1.2 to 7.4.2
  • Updated pytest-cov from 2.10.1 to 4.1.0
  • Updated black from 20.8b1 to 23.9.1
  • Updated coverage from 5.3 to 7.3.1
  • Added .dockerignore for optimized Docker build context
  • Added hadolint, jsonlint, markdownlint, yamllint, and ruff to pre-commit hooks
  • Lowered test coverage requirement from 95% to 50%
  • Added comprehensive test suite for converter factory, file parsing, and output generation

Documentation:

  • Expanded README with detailed usage instructions, workflow diagrams, and use cases
  • Added configuration parameter descriptions and input/output specifications
  • Added metadata population details for DICOM conversion by file type
  • Added CONTRIBUTING.md with development setup and dependency management instructions
  • Added inline documentation for converter classes and methods

0.0.1 [2021-03-01]

Enhancements:

  • Initial release of oct-converter with ability to convert proprietary ophthalmology filetypes to images, video, or NumPy array
  • Added debug configuration option for logging control

Maintenance:

  • Added poetry dependency management and build system
  • Added pre-commit hooks for code quality (isort, black, pytest)
  • Added GitLab CI/CD pipeline using poetry-pre-commit.yml template
  • Added .gitignore for Python artifacts and editor files
  • Added python 3.8 base Docker image
  • Added test suite with pytest and pytest-mock
  • Added dependencies: flywheel-gear-toolkit ^0.1.3, cowsay ^3.0
  • Added development dependencies: pytest, pytest-cov, pytest-mock, black, isort, pylint, mypy
  • Added .env file with coverage requirement set to 95%

Documentation:

  • Added README with gear usage instructions and configuration options
  • Added CONTRIBUTING guide with setup, dependency management, and testing instructions
  • Added MIT license