All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
- reduced PyPI package size by removing unnessesary development testing files.
anonymise_dicomhas been renamed to
- The CLI interface
trf2csvhas been replaced with
pymedphys trf to-csv. This has the same usage, just a changed name to come in line with the rest of the CLI interfaces exposed by PyMedPhys.
- Implementing a suite of Dicom objects, currently a work in progress:
DicomBase, a base DICOM class that wraps
Datasetobject. This class includes additions such as an anonymisation method.
DicomImage, designed to hold a single DICOM image slice. Might someday contain methods such as
resampleand the like.
DicomSeries, a series of
DicomImageobjects creating a CT dataset.
DicomStructure, designed to house DICOM structure datasets.
DicomPlan, a class that holds RT plan DICOM datasets.
DicomDose, a class that to hold RT DICOM dose datasets. It has helper functions and parameters such as coordinate transforms built into it.
DicomStudy, a class designed to hold an interrelated set of
DicomSeries. Not every type is required to create a
DicomStudy. Certain methods will be available on
DicomStudydepending what is housed within it. For example having both
DicomStructureshould enable DVH based methods.
DicomCollection, a class that can hold multiple studies, interrelated or not. A common use case that will likely be implemented is
DicomCollection.from_directory(directory_path)which would pull all DICOM files nested within a directory and sort them into
DicomStudyobjects based on their header UIDs.
- Added CLI commands for a WIP docker server, logfile orchestration, and DICOM editor tools.
- Added a range of xlwings tools that allow the use of PyMedPhys functions within Excel
- Added rudimentary code to pull profiles from Mephysto files.
- The previously separate
decodetrflibrary is now distributed within PyMedPhys. You can now simply install PyMedPhys and run
pymedphys trf to-csvwithin the command line to convert
- All uses of “dcm” in directory names, module names, function names, etc.
have been converted to “dicom”. Anything that makes use of this code will need to be
adjusted accordingly. Required changes include:
- MU Density related functions are no longer available under the
pymedphys.collpackage, instead they are found within
- The DICOM coordinate extraction functions now return simple tuples rather than
- DICOM anonymisation now permits replacing deidentified values with suitable “dummy” values. This helps to maintain compatibility with DICOM software that includes checks (beyond those specified in the DICOM Standard) of valid DICOM tag values. Replacing tags with dummy values upon anonymisation is now the default behaviour.
- A set of 3D coordinate transformation functions, including rotations (passive or active) and translations.
Transformations may be applied to a single coordinate triplet (an
ndarray) or a list of arbitrarily many coordinate triplets (a 3 x n
ndarray). NB: Documentation forthcoming.
- All uses of
dcmas a variable name for instances of PyDicom Datasets have been converted to
dsto match PyDicom convention.