Skip to content

Releases: pymedphys/pymedphys

v0.40.0

18 Mar 01:47
328a13c
Compare
Choose a tag to compare

[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

11 Oct 05:22
f9b6f02
Compare
Choose a tag to compare

News around this release

v0.39.2

06 Oct 10:58
Compare
Choose a tag to compare

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

06 Oct 07:43
b7cd0ee
Compare
Choose a tag to compare

Release Notes

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

v0.39.0

29 Sep 22:05
778e337
Compare
Choose a tag to compare

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

11 Feb 07:28
a3db22e
Compare
Choose a tag to compare

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

18 May 01:47
608e980
Compare
Choose a tag to compare

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

06 May 02:41
cfdfe34
Compare
Choose a tag to compare

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

19 Mar 03:54
Compare
Choose a tag to compare

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

19 Mar 00:19
Compare
Choose a tag to compare

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 #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.