Pymedphys Versions Save

A community effort to develop an open standard library for Medical Physics in Python. Building quality transparent software together via peer review and open source distribution. Open code is better science.

v0.40.0

1 month ago

[0.40.0]

New features and enhancements

  • The gamma tool now utilises EconForge's interpolation package by default. Initial testing shows improvements in gamma calculation times by approximately a factor of 4. PR #1761
  • Improvements to Elekta TRF decoding. PR #1773
  • The Pinnacle Export Tool has been added to the stable API and is no longer considered experimental. PR #1803

Bug fixes

  • The Pinnacle Export Tool now supports the inverse_grey ROI display colour. PR #1784

Experimental API changes

  • To simplify maintenance, all experimental modules other than pseudonymise, quickcheck and streamlit have been removed. These may be added back upon request.

v0.39.3

1 year ago

News around this release

v0.39.2

1 year ago

Bug Fixes

  • Utilise pylibjpeg-libjpeg 1.3.2 or greater (Current libjpeg version for Apple M1 compatibility)
  • pymedphys dicom anonymise now produces DICOM conformant patient names in the anonymised result.

v0.39.1

1 year ago

Release Notes

  • A release intended for use by JOSS, however, a subsequent release was utilised instead.

v0.39.0

1 year ago

New features and enhancements

  • The Gamma tool now utilises the logging module. The quiet parameter for pymedphys.gamma is deprecated but its use is non-breaking (for now).
  • The pymedphys.electronfactors has been added back in to the public API in Pull Request.

Non-API changing enhancements

  • The dev extra has been reduced and an additional extra all has been added: Pull Request

v0.38.0

2 years ago

News around this release

  • Phillip Chlap has joined as a pymedphys Maintainer
  • Thanks to Cedric for reporting and fixing DICOM coordinates bug: Discourse
  • Privacy related bug within the experimental components of pymedphys (not stable) has been fixed. See bug fix notes.

Bug Fixes

  • Pseudonymise was susceptible to brute-force reversal, mitigated in Pull Request
  • DICOM Coordinates
  • Pinnacle Export Tool
    • Write DICOM files to be more compatible with other software Pull Request
  • Daily Winston-lutz

New features and enhancements

  • Pinnacle Export Tool
    • A new CLI option is provided to append the patient MRN to the output path for convenience. Thanks crewso for submitting this Pull Request

v0.37.1

2 years ago

Bug fixes

  • Make it so that Mephysto files that have non-unicode characters can still be opened.
  • Varying penumbra and ball bearing diameter within the Monthly WLutz application now accepts floating point numbers as well as numbers smaller than the default.
  • Fixed a bug where Delivery.from_monaco wouldn't be able to load beams where the stop angle of one beam was +180 and the start angle of the subsequent beam was -180 (or visa-versa). The conversion from IEC to bipolar is now handled on a "per-beam" basis. This bug affected the MetersetMap application.

Non-API changing enhancements

  • The daily WLutz application can now have its bb size configured.
  • Site can now be passed as a URL parameter to the daily WLutz application.
  • Improved error messaging around the configuration of the iView machine alias.

v0.37.0

3 years ago

News around this release

  • Jake Rembish has been undergoing his PhD with the output of his work being contributed to PyMedPhys. This release coincides with the culmination of Jake's PhD and this version will be the one referenced within his dissertation. It has been brilliant to see both Jake and his project grow to be what it is today. Thank you Jake 😊.

Breaking changes

  • The configuration for the TRF CLI now utilises the centralised config.toml file instead of the prior CSV files.

New features and enhancements

  • A range of application have been added to and improved on within the PyMedPhys GUI.
    • A Daily WLutz application was added which utilises the air cavity within an iso-cube, combined with morning run-up beams (as arcs) to record the beam position at every gantry angle for each photon beam each morning.
    • A range of configuration improvements, making more applications more widely able to be utilised. Of particular note are Jake's transfer check and weekly check applications which were written as a part of his PhD.
    • A QCL investigator tool, allowing one to produce plots and break downs of numbers of QCLs broken down either by QCL type, or the user who completed them.
    • An extend ct application was added providing the means to duplicate slices superiorly and inferiorly.
    • An application for the viewing of back-end iView jpg images.
    • An application for tweaking the WLutz algorithm options from iView back-end jpg images.
    • A range of fixes and improvements within the WLutz Arc and the MetersetMap applications.
  • The docs are now distributed with the PyMedPhys package. These are accessible by opening http://localhost:8501/docs/index.html after running pymedphys gui. In the future it is intended to make this link more accessible.
  • A range of error messaging has been improved. Of particular benefit to new users is the error message that occurs when a dependency is missing.
  • The ball-bearing finding component of the WLutz algorithm was tweaked to be able to also support the finding of air-cavities within an iso-cube.
  • The testing suite around Mosaiq was built upon and extended across the breadth of PyMedPhys.
  • Fixed a bug which was making pymedphys.Delivery.from_mosaiq non functional.
  • Fixed a bug where some TRF files where not able to be decoded. Thank you LipTeck for the bug report.
  • The pymedphys.trf.identify interface was moved out of beta. See the documentation for this newly stable API over at https://docs.pymedphys.com/lib/ref/trf.html.
  • Improved the robustness of the internal extend ct routines.
  • [Contributor facing only] created pymedphys dev mssql which boots up a docker image of the Developer edition of Microsoft SQL. This is for utilisation by the Mosaiq testing suite.
  • [Contributor facing only] made pymedphys dev tests --cypress automatically include the options -v and -s for displaying the cypress printouts during testing as well as --reruns 5 so that the test automatically reruns on failure in alignment with the CI procedure.

v0.36.1

3 years ago

New features and enhancements

  • Added the icom installation option which can be run by calling pip install pymedphys[icom]==0.36.1. This will install only the dependencies needed for the iCom listener.

v0.36.0

3 years ago

News around this release

  • We have a new team member, Derek Lane he has undergone swathes of work around improving the long term maintenance of the Mosaiq SQL code. Thank you Derek! 🎉 🎈 🥳.
  • Matt Jennings has rejoined the team, picking up his previous hat of Maintainer, great to have you back Matt 😊.

Breaking changes

  • The modules pymedphys.electronfactors and pymedphys.wlutz were removed from the public API.
    • There did not appear to be any usage of these modules outside of Cancer Care Associates.
    • The electron factors module can be re-exposed upon request.
    • The Winston Lutz module is undergoing a significant re-work and will be re-exposed in its new form once complete.
  • There have been a range of changes to the previously undocumented Mosaiq database connection and execution API.
  • [Contributor facing only] replaced pymedphys dev tests --pylint with pymedphys dev lint.

New features and enhancements

  • Added CLI argument for setting the hostname on the DICOM listen server. For example pymedphys dicom listen 7779 --host 127.0.0.1.
  • Added DICOM send functionality to DICOM connect module and made it available on the CLI. For example pymedphys dicom send 127.0.0.1 7779 path\to\dicom\*.dcm
  • A range of application changes and improvements. The PyMedPhys app can be accessed by running pymedphys gui.
  • [Streamlit users only] A CLI command pymedphys streamlit run was added to facilitate utilising the custom PyMedPhys patches on the streamlit server for arbitrary streamlit apps. See https://github.com/pymedphys/pymedphys/issues/1422.
  • [Contributor facing only] Added the following contributor CLI tools/options:
    • pymedphys dev tests --mosaiqdb, to load up the tests that depend on having a Microsoft SQL server running. Thanks to Derek Lane for all of his work building the Mosaiq CI workflow and the first set of Mosaiq tests.
    • pymedphys dev doctests, run doctests.
    • pymedphys dev imports, verify optional import logic by creating a clean Python install and attempting to import all modules.
    • pymedphys dev lint, run pylint.
    • pymedphys dev cypress, load up Cypress for interactively writing and running the end-to-end tests.

Misc changes

  • Significant work was undergone to improve the documentation layout. Thanks to Matt Jennings for all his work here.
  • How Mosaiq username and passwords are saved has been updated. This will result in these credentials being requested once more.