Stable release 3.0.0
Changed
<ul>
<li>Modified NIfTI reading/writing. DICOM to NIfTI is now compatible with the popular dcm2niix tool (<a href="https://www.nitrc.org/projects/dcm2nii/">https://www.nitrc.org/projects/dcm2nii/</a>).</li>
<li>Notice that NIfTI files written with imagedata prior to version 3 will be incompatible with version 3 onwards.</li>
<li>Drop dependency on importlib_metadata.</li>
<li>Require numpy version >= 1.20.</li>
<li>Require nibabel version >= 5.0.0.</li>
<li>Require itk-io version >= 5.3. Previous versions use the np.bool dtype.</li>
<li>Drop support for Python 3.6 and 3.7.</li>
<li>Series.align(): Resulting image is rounded to nearest integer when the moving image is integer.</li>
</ul>
Fixed
<ul>
<li>numpy.bool is deprecated.</li>
<li>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.</li>
<li>Series: Calculate proper window center and level when a new instance is created.</li>
<li>imagedata.formats.dicomplugin: write_slice will change Series into ndarray before rescaling content. This avoids crosstalk with original window center and level in Series.</li>
<li>imagedata.formats.niftiplugin: Corrected writing 4D images. When the 4th dimension is not time, the zoom is set to 1.</li>
<li>imagedata.formats.niftiplugin: Use sform, not qform, when possible.</li>
</ul>
Added
<ul>
<li>Series.show() and Series.get_roi() take an ax argument to show image in existing matplotlib Axes.</li>
<li>Series.get_roi() takes an onselect callback function which is called when the ROI is modified.</li>
</ul>