Recent Releases of Imagedata

Imagedata - Release 3.8.7

Fixed

  • Series.getitem(): Corrected labeling tags when slicing in the slice direction. Added test to verify correct labeling.
  • Series.getitem(): Properly label axes when using numpy ufuncs.
  • Series.getitem(): Handle indexing when additional dimension(s) are added with np.newaxis.

Changed

  • Require setuptools >= 78.1.1
  • Require xnat < 0.7

Full Changelog: https://github.com/erling6232/imagedata/compare/3.8.6...3.8.7

Scientific Software - Peer-reviewed - Python
Published by erling6232 6 months ago

Imagedata - Release 3.8.6

Added

  • 'dicom_sort' commandline program.

Changed

  • DICOMPlugin: Print series description and number in warning and error messages.

Fixed

  • DICOMPlugin: Improved error handling when a series cannot be sorted.
  • DICOMPlugin.calculatedistances: Protect for missing slice location.
  • DICOMPlugin.verifyspacing: Print warning message only once.

Full Changelog: https://github.com/erling6232/imagedata/compare/3.8.5...3.8.6

Scientific Software - Peer-reviewed - Python
Published by erling6232 6 months ago

Imagedata - Release candidate 3.8.6.rc0

Added

  • dicom_sort commandline program.

Full Changelog: https://github.com/erling6232/imagedata/compare/3.8.5...3.8.6.rc0

Scientific Software - Peer-reviewed - Python
Published by erling6232 7 months ago

Imagedata - Release 3.8.5

Changed

  • DICOMPlugin: Reworked sorting slices into stacks based on slice location. Slice location is now determined by the distance along the normal vector to the plane.
  • DICOMPlugin: Legacy slice sorting can be enabled by setting sort_on_slice_location to True.
  • NiftiPlugin: Improved geometry handling following the dcm2niix implementation.

Full Changelog: https://github.com/erling6232/imagedata/compare/3.8.4...3.8.5

Scientific Software - Peer-reviewed - Python
Published by erling6232 7 months ago

Imagedata - Release candidate 3.8.5.rc1

Changed

  • NiftiPlugin: Improved geometry handling.
  • DICOMPlugin: Corrected calculation of tranformationMatrix and imagePositions.
  • DICOMPlugin: Added option sort_on_slice_location to sort stack on slice location, not on distance along normal vector. Default: False.

Fixed

  • UniformLenghtAxis: Use absolute value of n as axis length.

Full Changelog: https://github.com/erling6232/imagedata/compare/3.8.4...3.8.5.rc1

Scientific Software - Peer-reviewed - Python
Published by erling6232 7 months ago

Imagedata - Release 3.8.4

[v3.8.4] - 2025-05-14

Added

  • DICOMPlugin: Calculate slice spacing from actual distance between slices. Not from SliceThickness nor from SpacingBetweenSlices.
  • Series.align: Added optional fill_value for voxels outside field-of-view.
  • DICOMPlugin: Added options slice_toleranceand dir_cosine_tolerance.

What's Changed

  • 20250430 align by @erling6232 in https://github.com/erling6232/imagedata/pull/134

Full Changelog: https://github.com/erling6232/imagedata/compare/3.8.3...3.8.4

Scientific Software - Peer-reviewed - Python
Published by erling6232 10 months ago

Imagedata - Release candidate 3.8.4.rc0

What's Changed

  • 20250430 align by @erling6232 in https://github.com/erling6232/imagedata/pull/134

Full Changelog: https://github.com/erling6232/imagedata/compare/3.8.3...3.8.4.rc0

Scientific Software - Peer-reviewed - Python
Published by erling6232 10 months ago

Imagedata - Release 3.8.3

Added

  • Series honors the dtype parameter. Added tests to verify usage.
  • Series.write(): Accept kwargs options. ### Fixed
  • Removed outdated documentation on window option. ### Changed
  • Series.seriesInstanceUID: Modified behaviour depending on keep_uid option. Default: False.
  • Improved Series.timeline.

Full Changelog: https://github.com/erling6232/imagedata/compare/3.8.2...3.8.3

Scientific Software - Peer-reviewed - Python
Published by erling6232 10 months ago

Imagedata - Release 3.8.2

Fixed

  • Viewer.build_info(): Fixed error prohibiting display of 3D Series.

Full Changelog: https://github.com/erling6232/imagedata/compare/3.8.1...3.8.2

Scientific Software - Peer-reviewed - Python
Published by erling6232 10 months ago

Imagedata - Release 3.8.1

Fixed

  • Series.getitem(): Do not index on ndarray and Series.
  • Series: properly slice arrays on np.int64 in addition to int.

What's Changed

  • 20250429 squeeze by @erling6232 in https://github.com/erling6232/imagedata/pull/131

Full Changelog: https://github.com/erling6232/imagedata/compare/3.8.0...3.8.1

Scientific Software - Peer-reviewed - Python
Published by erling6232 10 months ago

Imagedata - Release 3.8.0

What's Changed

Added

  • Novel sorting routine for n-dimensional DICOM datasets.
  • Allow user-defined sorting criteria, and overriding default sorting.
  • Sort on Trigger Time also.
  • Added code to sort series on diffusion gradient direction (b-vector), and specifically diffusion RSI data.

Changed

  • Image tags property (tags) is now a multi-dimensional array when the image dimension > 4. In this case the image tags will be tuples.
  • diffusion.py: Added code to get diffusion b value from Siemens E11 format.
  • Patient class: Limit the strict check of patient attributes to patientName, patientID, patientBirthDate and patientSex.
  • Series.getitem(): Accept tuple slicing specification, like ((2,),(2,),(2,)).
  • Improved some test suites to run better on Windows.

Fixed

  • Corrected parsing windows UNC path names with leading double slash.
  • ZipFileArchive: Windows: Do not complain when temporary local file cannot be removed.
  • XnatTransport.open(): Corrected scan search to search for series description, not series number.
  • Viewer.viewport_set(): Fixed error where the viewport did not include the last image.
  • evidence2roi: Do not raise exception for unknown roi type. Log a warning instead.

Full Changelog: https://github.com/erling6232/imagedata/compare/3.7.2...3.8.0

Scientific Software - Peer-reviewed - Python
Published by erling6232 10 months ago

Imagedata - Release candidate 3.8.0.rc2

User-defined sorting criteria

What's Changed

  • 32 allow redefining predefined sorting criteria by @erling6232 in https://github.com/erling6232/imagedata/pull/128

Full Changelog: https://github.com/erling6232/imagedata/compare/3.8.0.rc1...3.8.0.rc2

Scientific Software - Peer-reviewed - Python
Published by erling6232 10 months ago

Imagedata - Release candidate 3.8.0-rc1

Novel DICOM sorting routine for n-dimensional data

Scientific Software - Peer-reviewed - Python
Published by erling6232 11 months ago

Imagedata - Release candidate 3.8.0.rc0

What's Changed

  • Windows version by @erling6232 in https://github.com/erling6232/imagedata/pull/123
  • N-dimensional Series by @erling6232 in https://github.com/erling6232/imagedata/pull/124

Full Changelog: https://github.com/erling6232/imagedata/compare/3.7.3rc0...3.8.0rc0

Scientific Software - Peer-reviewed - Python
Published by erling6232 11 months ago

Imagedata - Release candidate 3.7.3.rc0

What's Changed

  • Siemens E11 diffusion, and DICOM sorting by @erling6232 in https://github.com/erling6232/imagedata/pull/121

Full Changelog: https://github.com/erling6232/imagedata/compare/3.7.2.a...3.7.3rc0

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 1 year ago

Imagedata - Release 3.7.2 again

Corrected the version number.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.7.2

What's Changed

  • Fixed viewing in jupyter notebook using backend widget.
  • Renamed collections.py to collection.py.
  • 15 enable interactive seriesshow in jupyter notebook by @erling6232 in https://github.com/erling6232/imagedata/pull/118

Full Changelog: https://github.com/erling6232/imagedata/compare/3.7.1...3.7.2

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.7.1

Minor fix to support python 3.13.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.7.0

Release 3.7.0

Added

  • Series.concatenate() to concatenate a number of images along specified axis.
  • DICOMPlugin: Read non-image datasets (e.g. structured reports).
  • Support pydicom 3.0.0.
  • Support numpy >= 2.0.0.
  • Support upcoming python 3.13.

Changed

  • Series: Axes property implementation is changed from a list to a namedtuple.
  • Series: Let array_function call numpy for functions we do not implement. This will possibly return an ndarray instance, not a Series instance.
  • Series: implement array_function and a number of NumPy functions on Series instances.
  • Axis: Added property values which will give all axis values.
  • DICOMPlugin.writeslice(): Added parameter tagvalue which gives the tag value instead of relying on tags property.
  • DICOMPlugin: Changed type definitions into classes.

Fixed

  • Series._gettags(): Corrected looping over slice objects.
  • Series.concatenate(): Corrected behaviour.
  • Series: timeline from time axis, not from tags.
  • readdata.getlocation_part(): Modified behaviour to detect local file url. urllib.parse.urlunparse was changed in 3.12.6.
  • DICOMPlugin._gettransformation_matrix(): Fixed problem when there is one slice only.
  • DICOMPlugin.extractdicom_attributes(): Protected for missing imagePositions.

What's Changed

  • [Snyk] Security upgrade setuptools from 68.0.0 to 70.0.0 by @erling6232 in https://github.com/erling6232/imagedata/pull/108
  • [Snyk] Security upgrade setuptools from 40.5.0 to 65.5.1 by @erling6232 in https://github.com/erling6232/imagedata/pull/109
  • Support for Pydicom 3.0.0 by @erling6232 in https://github.com/erling6232/imagedata/pull/110
  • 91 prepare for numpy 20 by @erling6232 in https://github.com/erling6232/imagedata/pull/111
  • Non image dicom series by @erling6232 in https://github.com/erling6232/imagedata/pull/112
  • DICOMPlugin and readdata modifications by @erling6232 in https://github.com/erling6232/imagedata/pull/113
  • 114 add functionality to concatenate to series instances by @erling6232 in https://github.com/erling6232/imagedata/pull/115
  • 116 consider using namedtuple for axes property by @erling6232 in https://github.com/erling6232/imagedata/pull/117

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.6...3.7.0

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - 3.7.0rc3

  • Series: Let __array_function__() call numpy for functions we do not implement. This will possibly return an ndarray instance, not a Series instance.
  • Axis: Added property values which will give all axis values.
  • DICOMPlugin.writeslice(): Added parameter tagvalue which gives the tag value instead of relying on tags property.
  • Series.concatenate(): Corrected behaviour

Full Changelog*: https://github.com/erling6232/imagedata/compare/3.7.0rc2...3.7.0rc3

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release candidate 3.7.0-rc2

What's Changed

  • DICOMPlugin and readdata modifications by @erling6232 in https://github.com/erling6232/imagedata/pull/113
  • 114 add functionality to concatenate to series instances by @erling6232 in https://github.com/erling6232/imagedata/pull/115

Full Changelog: https://github.com/erling6232/imagedata/compare/3.7.0rc1...3.7.0rc2

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release candidate 3.7.0.rc1

Full Changelog: https://github.com/erling6232/imagedata/compare/3.7.0rc0...3.7.0rc1

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release candidate 3.7.0.rc0

Added

  • DICOMPlugin: Read non-image datasets (e.g. structured reports).

Changed

  • Support pydicom 3.0.0.
  • Support numpy >= 2.0.0.
  • Support upcoming python 3.13.

Fixed

  • DICOMPlugin._gettransformation_matrix(): Fixed problem when there is one slice only.
  • DICOMPlugin.extractdicom_attributes(): Protected for missing imagePositions.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.6.6

Fixed

  • Series.getitem(): Set correct input_order when slicing 4D Series.
  • Series.getitem(): Accept discrete slice selection specified by list or tuple.
  • Series.sliceLocations setter: Do not set slice axis.

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.5...3.6.6

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.6.5

Fixed

  • Improved UID generation to guarantee unique DICOM SeriesInstanceUID, while keeping the SeriesInstanceUID when slicing a Series.

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.4...3.6.5

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.6.4

Fixed

  • DICOMPlugin.extractall_tags(): Fixed error where float tag was printed with :0x formatting.

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.3...3.6.4

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.6.3

Fixed

  • XNATTransport.walk(): Only return file names from the top down.

What's Changed

  • [Snyk] Security upgrade zipp from 3.15.0 to 3.19.1 by @erling6232 in https://github.com/erling6232/imagedata/pull/105
  • XNATTransport.walk(): Only return file names from the top down. by @erling6232 in https://github.com/erling6232/imagedata/pull/107
  • [Snyk] Security upgrade zipp from 3.15.0 to 3.19.1 by @erling6232 in https://github.com/erling6232/imagedata/pull/106

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.2...3.6.3

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.6.2

Added

  • DICOMPlugin: Added use_cross_product option to demand that the z column of the transformation matrix is calculated using vector cross product.
  • XNATTransport.open(): Can now download data also at patient and experiment level. ### Changed
  • evidence2mask: Removed functions makemaskinslice() and transformdatapointsto_voxels().

What's Changed

  • 20240704 xnat transport by @erling6232 in https://github.com/erling6232/imagedata/pull/104

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.1...3.6.2

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.6.1

Bug fix release to correct sorting of series with multiple acquisitions.

Fixed

  • imagedata.reduce(): Corrected indexing collections classes.
  • cmdline.DictAction: Use ast.literal_eval() to evaluate input options.
  • Collections and Series: Access input_options in opts similar to kwargs.
  • Remove exception UnevenSlicesError. Use CannotSort instead.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.6.0

Fixed

  • Honor the skip_broken_series option.

Added

  • DICOMPlugin: Print tag values in hex and keyword.

Changed

  • Standardized logging to log proper module and function names.
  • Series.seriesDescription: Return empty string when not defined.
  • Collections: Added possibility to index Study, Patient and Cohort by integer keys in addition to uid.
  • Depend on pylibjpeg.
  • Depend on itk-io 5.4.0 on all python versions.
  • Depend on pydicom 2.4.0 and matplotlib 3.8.0.
  • Refactored DICOMPlugin to better split series based AcquisitionNumber and/or EchoNumber.
  • Format plugin read() now return hdr and si as dicts of series.
  • Drop support for python 3.8

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release candidate 3.6.0.rc4

  • Depend on pylibjpeg.
  • Standardized logging to log proper module and function names.
  • Honor the skip_broken_series option

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release candidate 3.6.0.rc3

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.0.rc2...3.6.0.rc3

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release candidate 3.6.0.rc2

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.0.dev12...3.6.0.rc2

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Development release 3.6.0.dev12

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.0.dev11...3.6.0.dev12

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Development release 3.6.0.dev11

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.0.dev10...3.6.0.dev11

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Development release 3.6.0.dev10

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.0.dev9...3.6.0.dev10

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Development release 3.6.0.dev9

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.0.dev8...3.6.0.dev9

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Development release 3.6.0.dev8

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.0.dev6...3.6.0.dev8

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release candidate 3.6.0.dev6

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.0.dev5...3.6.0.dev6

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.6.0.dev5

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.0.dev4...3.6.0.dev5

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.6.0.dev4

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.0.dev3...3.6.0.dev4

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.6.0.dev3

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.0.rc1...3.6.0.dev3

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.6.0.rc1

What's Changed

  • Release candidate 3.6.0-rc0 by @erling6232 in https://github.com/erling6232/imagedata/pull/102

Full Changelog: https://github.com/erling6232/imagedata/compare/3.6.0-rc0...3.6.0.rc1

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.6.0.rc0

What's Changed

  • Better sorting by @erling6232 in https://github.com/erling6232/imagedata/pull/101

Full Changelog: https://github.com/erling6232/imagedata/compare/3.5.5...3.6.0-rc0

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.5.5

Added

  • Cohort, Patient, Study and Series: accept options as kwargs.
  • Series: Added parameter input_format to specify a particular input format.
  • DICOMPlugin: multiple acquisition numbers and slice thicknesses are resolved by keeping the thin slices only. Option select_thickness is used to select "thin" slices (default), or "thick" slices.
  • DICOMPlugin: Option skip_broken_series to bypass broken series in a study. Otherwise, an exception is raised.
  • DICOMPlugin: Improved exception handling.

What's Changed

  • 96 let user force an input format by @erling6232 in https://github.com/erling6232/imagedata/pull/97
  • 96 let user force an input format by @erling6232 in https://github.com/erling6232/imagedata/pull/98
  • 96 let user force an input format by @erling6232 in https://github.com/erling6232/imagedata/pull/99
  • [Snyk] Security upgrade requests from 2.31.0 to 2.32.0 by @erling6232 in https://github.com/erling6232/imagedata/pull/100

Full Changelog: https://github.com/erling6232/imagedata/compare/3.5.4...3.5.5

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 1 year ago

Imagedata - Release 3.5.5.rc4

What's Changed

  • [Snyk] Security upgrade requests from 2.31.0 to 2.32.0 by @erling6232 in https://github.com/erling6232/imagedata/pull/100

Full Changelog: https://github.com/erling6232/imagedata/compare/3.5.5.rc3...3.5.5.rc4

Scientific Software - Peer-reviewed - Python
Published by erling6232 almost 2 years ago

Imagedata - Release 3.5.5.rc3

DICOMPlugin: Raise exception CannotSort when CSA header cannot be read.

Scientific Software - Peer-reviewed - Python
Published by erling6232 almost 2 years ago

Imagedata - Release 3.5.5.rc2

What's Changed

  • 96 let user force an input format by @erling6232 in https://github.com/erling6232/imagedata/pull/98

Full Changelog: https://github.com/erling6232/imagedata/compare/3.5.5.rc1...3.5.5.rc2

Scientific Software - Peer-reviewed - Python
Published by erling6232 almost 2 years ago

Imagedata - Release 3.5.5.rc1

What's Changed

  • 96 let user force an input format by @erling6232 in https://github.com/erling6232/imagedata/pull/97

Full Changelog: https://github.com/erling6232/imagedata/compare/3.5.4...3.5.5.rc1

Scientific Software - Peer-reviewed - Python
Published by erling6232 almost 2 years ago

Imagedata - Release 3.5.4

Added

  • Added option input_acquisition to Series to select a particular Acquisiton Number in a CT series.
  • Added command line option --input_acquisition to select a particular Acquisition Number.

Scientific Software - Peer-reviewed - Python
Published by erling6232 almost 2 years ago

Imagedata - Release 3.5.3

Fixed

  • NiftiPlugin and ITKPlugin: create output directory before writing local files.
  • Header: set default sorton=SORTON_SLICE.

Added

  • conversion: write cohort data at the lowest level possible.

Scientific Software - Peer-reviewed - Python
Published by erling6232 almost 2 years ago

Imagedata - Release 3.5.2

Fixed

  • Corrected file name generation when writing 4D DICOM using SORTONTAG.

Scientific Software - Peer-reviewed - Python
Published by erling6232 almost 2 years ago

Imagedata - Release 3.5.1

Added

  • AbstractPlugin: Honor the input_sort option. ### Fixed
  • Corrected behaviour when writing 4D DICOM with output_dir == 'multi'.

Scientific Software - Peer-reviewed - Python
Published by erling6232 almost 2 years ago

Imagedata - Release 3.5.1.rc3

Release candidate 3

Scientific Software - Peer-reviewed - Python
Published by erling6232 almost 2 years ago

Imagedata - Release 3.5.1.rc2

Release candidate 2.

Scientific Software - Peer-reviewed - Python
Published by erling6232 almost 2 years ago

Imagedata - Release 3.5.1.rc1

Release candidate 1

Scientific Software - Peer-reviewed - Python
Published by erling6232 almost 2 years ago

Imagedata - Release 3.5.1.rc0

Release candidate rc0.

Scientific Software - Peer-reviewed - Python
Published by erling6232 almost 2 years ago

Imagedata - Release 3.5.0

Modified file name generation to allow user to specify single file output when the format plugin support this.

Scientific Software - Peer-reviewed - Python
Published by erling6232 almost 2 years ago

Imagedata - Release 3.5.0.rc1

Bug fixes.

Scientific Software - Peer-reviewed - Python
Published by erling6232 almost 2 years ago

Imagedata - Release 3.5.0.rc0

Improved file name generation when saving local files.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release 3.4.4.rc2

Release candidate 2

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release 3.4.4.rc1

See 3.4.4.rc0

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release 3.4.4.rc0

ITKPlugin, MatPlugin and NiftiPlugin: when writing to a local file with proper file extension (.mat, .nii.gz or .nii), bypass transport plugin to create file in given directory.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release 3.4.3

  • Added gettransporterlist() to imagedata.transports.
  • Added getarchiverlist() to imagedata.archives.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release 3.4.2

Added

  • Added documentation on viewing.
  • Viewer: Ctrl+Home/End will scroll to first/last series.
  • Viewer: Ctrl+Array Left/Right will scroll one series.
  • Viewer: Ctrl+Array Up/Down will scroll one row of series.
  • Viewer: Toggle the hide text will affect all series.

Changed

  • Series.getroimask(): Return 2D mask when original images is 2D.
  • Viewer: Display image text even when some attributes are missing.
  • Viewer: Better presentation of window center/width when they are floats.
  • Viewer: Reimplemented PageDown/PageUp to scroll one page at a time.
  • Viewer: Adjusting window center/width is modified to use series min/max, not existing window. Will improve user feedback when window is unreasonable.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release 3.4.2.rc0

Release candidate.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release 3.4.1

Changed

  • Series.fuse_mask(): Corrected scaling of mask range to colors.

Added

  • Documentation on using color Series objects.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release 3.4.0

  • RGB-image representation. Use NumPy structured dtype to represent color data. Simplify index calculations when color is not a dimension.
  • fuse_mask(): Accept variable mask, rendered in a specified colormap.
  • fuse_mask(): Save color map for later viewing.
  • Viewer: Display color map when this exists.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release 3.4.0.rc2

  • fuse_mask(): Accept variable mask, rendered in a specified colormap.
  • fuse_mask(): Save color map for later viewing.
  • Viewer: Display color map when this exists.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release 3.4.0.rc1

  • fuse_mask(): Accept variable mask, rendered in a specified colormap.
  • fuse_mask(): Save color map for later viewing.
  • Viewer: Display color map when this exists.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release 3.4.0.rc0

Use NumPy structured dtype to represent color data.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release 3.3.3

Update of release 3.3.2.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release 3.3.2

Added

  • Series.get_roi() will now accept an existing Series grid as roi, in addition to a vertices dict.
  • Added Series.verticesfromgrid()
  • Moved getsliceaxis() and gettagaxis from viewer.py to series.py.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release 3.3.1

Corrected github action to publish new release to pypi.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release 3.3.0

Added

  • Viewer: Key press 'w' will normalize window level/width to displayed slice using a histogram normalization.
  • Viewer: Key press 'h' will toggle display of text on display.
  • Viewer: Display demographic and acquisition info in upper right and level corners.
  • Viewer: Display seriesDescription upper right.
  • Viewer: Save window center/width to Series object when returning.
  • Series.fuse_mask(): New parameter blend which determines whether the self image is blended. Default is False, such that the self image is not blended, only the mask is blended.
  • Series.write(..., opts={'window': 'original'}): Use original window center/level from data object, do not calculate window from present data.
  • Viewer: Accept MONOCHROME1 photometric interpretation, using the Greys colormap.

Changed

  • Support Python 3.12
  • Major modification to Series class, removing the DicomHeaderDict attribute.

Fixed

  • Fixed signed integer overflow in DICOMPlugin.write_slice().
  • Series: Handle the special case when a ufunc is called with a where= Series object used by NumPy >= 1.25.
  • Series.write(): Updated documentation on 'window' option.
  • Viewer: Re-enabled linked scrolling of several images series.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release candidate 3.3.0.rc2

Fixed

  • Protected Series and Header objects for missing properties.
  • Fixed signed integer overflow in DICOMPlugin.write_slice().

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release candidate 3.3.0.rc0

Major code revision to remove the DicomHeaderDict attribute of Series instances.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 2 years ago

Imagedata - Release candidate 3.2.4.rc1

Fixed

  • Header: When using a template to create DicomHeaderDict, use deepcopy to get a unique DicomHeaderDict for the new instance. ### Added
  • Viewer: Save window center/width to Series object when returning.
  • Series.fuse_mask(): New parameter blend which determines whether the self image is blended. Default is False, so the self images is not blended, only the mask is blended.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 2 years ago

Imagedata - Release candidate 3.2.4.rc0

[v3.2.4-rc0] - 2023-11-15 Fixed

Series: Handle the special case when a ufunc is called with a where= Series object used by NumPy >= 1.25.
Series.write(): Updated documentation on 'window' option.

[v3.2.4-dev0] - 2023-11-14 Added

Series.write(..., opts={'window': 'original'}): Use original window center/level from data object, do not calculate window from present data.
Viewer: Accept MONOCHROME1 photometric interpretation, using the Greys colormap.

Fixed

Viewer: Re-enabled linked scrolling of several images series.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 2 years ago

Imagedata - Release 3.2.3

  • Error in documentation example on drawing a time curve when mask is moved. Fixed.
  • Viewer: Updated MyPolygonSelector to match Matplotlib 3.8.
  • Require numpy < 1.25 as temporary fix, due to a mismatch where array_likes can override ufuncs if used as where=.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 2 years ago

Imagedata - Release 3.2.2

Added sphinxrtdtheme as requirement.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 2 years ago

Imagedata - Release candidate 3.2.2-rc1

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 2 years ago

Imagedata - Release candidate 3.2.2-rc0

Verify that readthedocs can build documentation.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 2 years ago

Imagedata - Release 3.2.1

Added sphinxrtdtheme to Sphinx conf.py.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 2 years ago

Imagedata - Release 3.2.0

imagedata.init(): Import all plugins to enable plugin-specific initialisation, e.g. setting mimetypes.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 2 years ago

Imagedata - Release 3.1.0

  • Restored logging facility in command-line utilities.
  • Better logging when reader plugins fail.
  • Viewer.update() and Viewer.onselect(): Call onselect when setting up display which includes a ROI. This allows e.g. drawing a time curve on initial display.
  • Corrected problem in collections where writing images failed when study datetime is None. The study instance UID is used instead to construct directory names.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 2 years ago

Imagedata - Release 3.0.0

Stable release 3.0.0

Changed

  • Modified NIfTI reading/writing. DICOM to NIfTI is now compatible with the popular dcm2niix tool (https://www.nitrc.org/projects/dcm2nii/).
  • Notice that NIfTI files written with imagedata prior to version 3 will be incompatible with version 3 onwards.
  • Drop dependency on importlib_metadata.
  • Require numpy version >= 1.20.
  • Require nibabel version >= 5.0.0.
  • Require itk-io version >= 5.3. Previous versions use the np.bool dtype.
  • Drop support for Python 3.6 and 3.7.
  • Series.align(): Resulting image is rounded to nearest integer when the moving image is integer.

Fixed

  • numpy.bool is deprecated.
  • Series: Fixed a problem where calculated float64 window center and level could not be represented in DICOM DS tag. Window center and level are now calculated using float32.
  • Series: Calculate proper window center and level when a new instance is created.
  • imagedata.formats.dicomplugin: write_slice will change Series into ndarray before rescaling content. This avoids crosstalk with original window center and level in Series.
  • imagedata.formats.niftiplugin: Corrected writing 4D images. When the 4th dimension is not time, the zoom is set to 1.
  • imagedata.formats.niftiplugin: Use sform, not qform, when possible.

Added

  • Series.show() and Series.get_roi() take an ax argument to show image in existing matplotlib Axes.
  • Series.get_roi() takes an onselect callback function which is called when the ROI is modified.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 2 years ago

Imagedata - Release 3.0.0rc7

Replaced np.bool with bool and/or np.bool_

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 2 years ago

Imagedata - Release 3.0.0rc6

  • Series: Fixed a problem where calculated float window center and level could not be represented in DICOM DS tag. Window center and level are now calculated using float32.
  • Series: Calculate proper window center and level when a new instance is created.
  • imagedata.formats.dicomplugin: write_slice will change Series into ndarray before rescaling content. This avoids crosstalk with original window center and level in Series.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 2 years ago

Imagedata - Release 3.0.0rc5

  • imagedata.format.niftiplugin: Corrected writing 4D images.
  • Series.show() and Series.get_roi() take an ax argument to show image in existing matplotlib Axes.
  • Series.get_roi() takes an onselect callback function which is called when the ROI is modified.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 2 years ago

Imagedata - Release 3.0.0rc4

  • Drop dependency on importlib_metadata.
  • Require numpy version 1.19 or later.
  • Require nibabel version 5.0.0 or later.
  • Drop support for Python 3.6 and 3.7.
  • Removed unused testing code.
  • Series.align(): Resulting image is rounded to nearest integer when the moving image is integer.
  • imagedata.formats.niftiplugin: Use sform, not qform, when possible.
  • imagedata.formats.niftiplugin corrected for rotated volumes.
  • imagedata.formats.niftiplugin also calculates imagePositions on read

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 2 years ago

Imagedata - Release 3.0.0rc0

imagedata.formats.niftiplugin improved to handle nifti files like the popular tool dcm2niix.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 2 years ago

Imagedata - Release 2.1.2

Added imagedata.apps.diffusion module to get MRI diffusion vectors.

Scientific Software - Peer-reviewed - Python
Published by erling6232 almost 3 years ago

Imagedata - Release 2.0.0

  • Study class: a collection of Series instances. Sort images into separate Series depending on SeriesInstanceUID. (https://github.com/erling6232/imagedata/issues/22)
  • Patient and Cohort classes: Patient is a collection of Study instances, while Cohort is a collection of Patient instances.
  • Simpler import statements in user code: from imagedata import Series, Study
  • Add support Python 3.11 (https://github.com/erling6232/imagedata/issues/21)
  • Series.to_rgb(): Added clip parameter whether clipping to DICOM window or to histogram probabilities.
  • Series.fuse_mask(): Color fusion of mask.
  • Added Series.align() method

See CHANGELOG.md for detailed list of changes.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 3 years ago

Imagedata - Release 2.0.0rc1

  • Added Series.align() method.
  • Header.add_geometry() takes one template only.
  • Axis: Enhanced class with getitem and next to enable iteration over axis values.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 3 years ago

Imagedata - Release 2.0.0rc0

  • Study, Patient and Cohort classes to sort images into a hierarchy.
  • Changed default input_order to 'auto' which will auto-detect the sorting of DICOM images based on DICOM attributes.
  • Simplified import statement: from imagedata import Series
  • Support for Python 3.11.
  • Series.write() has an option 'keep_uid' to keep UIDs when writing.
  • DICOM read will now retain original DICOM UIDs.
  • Series.to_rgb(): Added clip parameter whether clipping to DICOM window or to histogram probabilities.
  • Series.fuse_mask(): Color fusion of mask.
  • Corrected some issues converting DICOM attributes to numbers.

Scientific Software - Peer-reviewed - Python
Published by erling6232 about 3 years ago

Imagedata - Release 1.6.0

Series.show() and Series.getroi() work in Jupyter notebook, too. In notebook: Series.getroimask() must be called after getroi() to get the actual mask.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 3 years ago

Imagedata - Release 1.5.1

Bug fix release:

  • MyPolygonSelector.init(): define self.polygoncomplete.
  • Viewer.gridfromroi(): Set input_order='none' for resulting mask when follow is False.
  • Series.tags: Ensure that tag lists are always Numpy arrays.
  • Series: Handle properly the situation where a template has wrong number of slices or tags.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 3 years ago

Imagedata - Release 1.5.1rc0

Bug fix release:

  • MyPolygonSelector.init(): define self.polygoncomplete.
  • Viewer.gridfromroi(): Set input_order='none' when follow is False.
  • Series.tags: Ensure that tag lists are always Numpy arrays.
  • Series: Handle properly the situation where a template has wrong number of slices or tags.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 3 years ago

Imagedata - Release 1.5.0

Improved reading of DICOM files. Each file is now read only once.

Scientific Software - Peer-reviewed - Python
Published by erling6232 over 3 years ago