SimpleITK: a layer built on top of the Insight Toolkit (ITK), intended to simplify and facilitate ITK's use in rapid prototyping, education and interpreted languages.
Tagged on 2/2/2022 we are happy to announce SimpleITK 2.2 Release Candidate 2!
Users and developers are encouraged to test the RC before the final release and report issues, bugs, and any compatibility problems.
Complete instructions on getting started with SimpleITK including downloading binaries or building SimpleITK can be found on the SimpleITK Read the Docs web page.
python -m pip install --upgrade pip
python -m pip install --pre SimpleITK --find-links https://github.com/SimpleITK/SimpleITK/releases/tag/v2.2rc2
Conda packages are available from Anaconda Cloud on the SimpleITK
channel. These can be installed with:
conda install -c simpleitk/label/dev simpleitk
Require SimpleITK_INT64_PIXELIDS for 64-bit builds. The Python ReadTransform method now returns a downcasted transform.
Update to ITK v5.3rc3 Improved Python packaging type information (PEP 561). Improved types for manual Python procedural methods: Resample, GetArrayFromImage, GetImageFromArray, GetArrayViewFromImage, ReadImage, WriteImage, SmoothingRecursiveGaussian, DiscreteGaussian.
Additional baseline test image for AArch64/ARM64 systems. Fix test failure when system has more than 127 processors. Remove failing test with 32-bit pixel and JPEG file.
Announcing the SimpleITK 2.2 Release Candidate 1!
Users and developers are encouraged to test the RC before the final release and report issues, bugs, and any compatibility problems.
Complete instructions on getting started with SimpleITK including downloading binaries or building SimpleITK can be found on the SimpleITK Read the Docs web page.
python -m pip install --upgrade pip
python -m pip install --pre SimpleITK --find-links https://github.com/SimpleITK/SimpleITK/releases/tag/v2.2rc1
Conda packages are available from Anaconda Cloud on the SimpleITK
channel. These can be installed with:
conda install -c simpleitk/label/dev simpleitk
Included in this release candidate are "manylinux2014_aarch64" wheels to provide initial support for the ARMv8-A (aarch64) on Linux.
SimpleITK 2.1.1 has been released!
The patch release Updates the ITK version to 5.2.1.
Complete instructions on getting started with SimpleITK including downloading binaries or building SimpleITK can be found on the SimpleITK Read the Docs web page.
Python binary wheels are available for download from PyPI. It is important to have the latest version of pip for correct wheel compatibility and installation. To install the latest SimpleITK package:
python -m pip install --upgrade pip
python -m pip install SimpleITK
SimpleITK packages are available for conda Python package manager as a monolithic package:
conda install -c simpleitk simpleitk
or integrated into the coda-forge package dependencies:
conda install simpleitk --channel conda-forge
SimpleITK 2.1.0 has been released!
The release includes new features, API changes, documentation updates and bug fixes. This is the first SimpleITK release to provide binaries for the new Apple M1 ARM.
Complete instructions on getting started with SimpleITK including downloading binaries or building SimpleITK can be found on the SimpleITK Read the Docs web page.
Python binary wheels are available for download from PyPI. It is important to have the latest version of pip for correct wheel compatibility and installation. To install the latest SimpleITK package:
python -m pip install --upgrade pip
python -m pip install SimpleITK
Wheels with the platform tag "macxos-11_0_arm64" are available from PyPI, to provide initial support for the Apple M1 Silicon for Python 3.8 and 3.9.
SimpleITK packages are available for conda Python package manager as a monolithic package:
conda install -c simpleitk simpleitk
or integrated into the coda-forge package dependencies:
conda install simpleitk --channel conda-forge
Image::getBufferAsByteBuffer
to Java interface, returns a type specific instance of java.nio.Buffer
.GetBufferAsNativePointer
to Image class.Image::GetSizeOfPixelComponent
method.N4BiasFieldCorrectionImageFilter::GetLogBiasFieldAsImage
method.Image::GetBufferAs...
methods, in wrapped languages.ComposeScaleSkewVersor3DTransform
class.Image
class.Image
's meta-data dictionary. This includes implementations for __delitem__
, __contains__
, and __getitem__
with a string parameter.PermuteImageFilter
.LoggerBase
and ITKLogger
classes to interface and override ITK's output messages.ShiftScaleImageFilter
, to support arbitrary type conversion with intensity scaling.sitkUInt8
mask image support to MaskNegatedImageFilter
ImageRegistrationMethod::StopRegistration
methodStopRegistration
method to Demons based registration filtersHistogramMatchingImageFilter
to use named "referenceImage" input for second input image.GetPixelAsComplexFloat64
Image method in Python is correctly renamed to __GetPixelAsComplexFloat64__
.BinaryMagnitudeImageFilter
test, changed type from UInt32 to Int32 for defined C++ behavior, fixed Mac ARM testing failure.ImageViewer::SetApplication
docs.* Minor grammar and spelling changes to gettingStartedAnnouncing the SimpleITK 2.1 Release Candidate 2!
Users and developers are encouraged to test the RC before the final release and report issues, bugs, and any compatibility problems.
Complete instructions on getting started with SimpleITK including downloading binaries or building SimpleITK can be found on the SimpleITK Read the Docs web page.
python -m pip install --upgrade pip
python -m pip install --pre SimpleITK --find-links https://github.com/SimpleITK/SimpleITK/releases/tag/v2.1rc2
Conda packages are available from Anaconda Cloud on the SimpleITK
channel. These can be installed with:
conda install -c simpleitk/label/dev simpleitk
ImageRegistrationMethod::StopRegistration
methodStopRegistration
method to Demons based registration filtersHistogramMatchingImageFilter
to use named "referenceImage" input for second input image.BinaryMagnitudeImageFilter
test, changed type from UInt32 to Int32 for defined C++ behavior, fixed Mac ARM testing failure.Announcing the SimpleITK 2.1 Release Candidate 1!
Users and developers are encouraged to test the RC before the final release and report issues, bugs, and any compatibility problems.
Complete instructions on getting started with SimpleITK including downloading binaries or building SimpleITK can be found on the SimpleITK Read the Docs web page.
python -m pip install --upgrade pip
python -m pip install --pre SimpleITK --find-links https://github.com/SimpleITK/SimpleITK/releases/tag/v2.1rc1
Conda packages are available from Anaconda Cloud on the SimpleITK
channel. These can be installed with:
conda install -c simpleitk/label/dev simpleitk
SimpleITK v2.1rc1 has been successfully compiled and tested on Apple OS X running native M1 ARM. Thanks to the ITK development team for providing the foundation.
For the v2.1 .0 final release, we are currently only planning to release M1 ARM binaries for the conda-forge distribution.
Image::getBufferAsByteBuffer
to Java interface, returns a type specific instance of java.nio.Buffer
.GetBufferAsNativePointer
to Image class.Image::GetSizeOfPixelComponent
method.N4BiasFieldCorrectionImageFilter::GetLogBiasFieldAsImage
method.Image::GetBufferAs...
methods, in wrapped languages.ComposeScaleSkewVersor3DTransform
class.Image
class.Image
's meta-data dictionary. This includes implementations for __delitem__
, __contains__
, and __getitem__
with a string parameter.PermuteImageFilter
.LoggerBase
and ITKLogger
classes to interface and override ITK's output messages.ShiftScaleImageFilter
, to support arbitrary type conversion with intensity scaling.sitkUInt8
mask image support to MaskNegatedImageFilter
GetPixelAsComplexFloat64
Image method in Python is correctly renamed to __GetPixelAsComplexFloat64__
.ImageViewer::SetApplication
docs.SimpleITK 2.0.2 has been released! The release provides minor patches for the 2.0 release to address bugs.
Additionally Python 3.9 is supported and "manylinux2010" wheels are provided. This addresses interoperability with other "manylinux2010" wheels reported in some environments [#1252].
Complete instructions on getting started with SimpleITK including downloading binaries or building SimpleITK can be found on the SimpleITK Read the Docs web page.
python -m pip install --upgrade pip
python -m pip install SimpleITK
Conda packages are available from Anaconda Cloud on the SimpleITK
channel. These can be installed with:
conda install -c simple simpleitk
To learn more about SimpleITK go to simpleitk.org.
Image::GetBufferAsVoid
, Image::GetBufferAsUInt64
and Image::GetBufferAsInt64
methods.SimpleITK 2.0.1 has been released! The release provides minor patches for the 2.0 release to address bugs.
Complete instructions on getting started with SimpleITK including downloading binaries or building SimpleITK can be found on the SimpleITK Read the Docs web page.
python -m pip install --upgrade pip
python -m pip install SimpleITK
Conda packages are available from Anaconda Cloud on the SimpleITK
channel. These can be installed with:
conda install -c simple simpleitk
To learn more about SimpleITK go to simpleitk.org.
tensorflow
(#1208, #1192)SimpleITK 2.0 has been released! This major version update to SimpleITK includes updating to ITK version 5, significant code improvements, performance enhancements, and API changes.
Complete instructions on getting started with SimpleITK including downloading binaries or building SimpleITK can be found on the SimpleITK Read the Docs web page.
python -m pip install --upgrade pip
python -m pip install SimpleITK
Conda packages are available from Anaconda Cloud on the SimpleITK
channel. These can be installed with:
conda install -c simple simpleitk
To learn more about SimpleITK go to simpleitk.org.
Image
support for improved support of time series, and multi-channel images commonly used in microscopy.
ExtractImageFilter
, JoinSeriesImageFilter
, PasteImageFilter
, HashImageFilter
, ImageFileReader
, ImageFileWriter
, ImageSeriesWriter
.Image
and Transform
classes. Please note this is designed for operations such as interprocess communications; the standard ITK IO formats should be used as portable storage formats.Show
procedure calls the ImageViewer
class interface which utilizes the class's defaults and configuration.The environment variables related to the Show
procedure are only checked once. The Show
method now is a wrapper for the ImageViewer
class, and the behavior changed. The SITK_SHOW_EXTENSION
and SITK_SHOW_COMMAND
environment variables if defined initialize the corresponding global defaults only the first time accessed. The environment variables SITK_COLOR_COMMAND
and SITK_SHOW_3D_COMMAND
are removed as the ImageViewer
class allows for direct configuration of the command.
Remove from all filters the Execute
method with filter parameters as arguments. The Execute
method with the input images remains.
Remove AddTrialPoints
and ClearTrialPoints
methods from FastMarchingImageFilter
due to consolidation of code generation templates.
With Java wrapped Vector
types whose C++ element type is an unsigned integer, the wrapped element type changed to the next larger Java signed integer type ( see 618d89 ).
Removed procedural methods taking scalar radius from the following ( see 444f9a ):
Dropped Python 3.4 support due to end of life.
Remove the sitk::ImageFilter
template parameter because it is no longer utilized.
The Python installation command using setup.py
changed with the location of setup.py
. To install see updated Sphinx documentation.
Remove Transform::AddTransform
and Transform::FlattenTransform
methods. Use the CompositeTransform
class.
Rewrote Show
to use ImageViewer
class.
For ImageViewer add user's Application folder to search path.
Use NPasteImageFilter
from the SimpleITKFilters remote ITK module to replace PasteImageFilter
.
Add to SimpleITK's PasteImageFilter
:
DestinationSkipAxes
parameterAdd method to ImageFileReader::GetImageIOFromFileName
get the ITK ImageIO automatically used for file.
Update superbuild Swig version to 4.0.2. SWIG >= 4 is now required.
Update ITK version to 5.1.1.
Disable ITK 4 legacy behaviors.
Add SignedDanielssonDistanceMapImageFilter::GetVoronoiMap
method.
Add wrapping for CannySegmentationLevelSetImageFilter
.
Update levelset segmentation filters to support named inputs.
Add 4D support toSliceImageFilter
and to the Python slice indexing.
Add complex pixel support to Image::GetBufferAs...
methods.
Add wrapping for BinaryPruningImageFilter
.
Add per label measurements to LabelOverlapMeasuresImageFilter
.
ResampleImageFilter
add option to use nearest neighbor extrapolation.
Add ReturnBinMidPoint
parameter to OtsuThresholdImageFilter
. Defaults to false which may change results.
Add support to specify compression level and compression algorithm to ImageFileWriter
and ImageSeriesWriter
classes.
BSplineTransform
Python support construction and SetCoefficientImage
with list-like series of Images.
MeanImageFilter
directly filters vector images, improving performance.
Add to LabelShapeStatisticsImageFilter
per label method GetIndexes
and GetRLEIndexes
.
Add Image::IsUnique
method.
Add wrapping for DICOMOrientImageFilter
.
Add complex pixel type support to GetBufferAs
methods.
Improve checking and error messages when Image
inputs require the dimensions, sizes or pixel types to match.
Add LevelSetMotionRegistrationImageFilter::InitialDisplacementField
method.
Refactor of the template code generation system to enable numerous new features and C++ style enhancements.
Add boolean in_place
field to all JSON filter descriptions.
Add C++ automatic "in place" ITK filter execution with r-value image input.
Add C++ Image
operators with automatic in-place filter execution with r-value Image
classes.
Use native SWIG/R enumeration support.
Add named filter inputs to morphological reconstruction image filters.
Replace the CMake configuration option of "SimpleITK_4D_IMAGE" with "SimpleITK_MAX_DIMENSION"
Default configuration now include 5D Image support.
The following filters support up to "SimpleITK_MAX_DIMENSION":
Refactored MemberFunctionFactory's hashing function.
Add ExtractImageFilter
support to extract an abitrary dimension e.g. 3D image from 5D image.
Add sitkScaleVersor
enum.
Add Transform::GetTransfromEnum
method.
Add CompositeTransform
class.
Update to ITKv5 threading model behaviors for the following ProcessObject
methods:
SetGlobalDefaultThreader
and GetGlobalDefaultThreader
SetGlobalDefaultNumberOfThreads
and GetGlobalDefaultNumberOfThreads
SetNumberOfWorkUnits
and GetNumberOfWorkUnits
Python
DiscreteGaussian
, SmoothingRecursiveGaussian
, ReadImage
and WriteImage
to support keyword arguments.WriteImage
Python procedure the keyword only arguments imageIO
and compressor
.__setitem__
for [] operator support:
GetArrayFromImage
, GetImageFromArray
and GetArrayViewFromImage
methods.Image
class, ensuring the copy is unique with lazy copying implementation.Image
and Transform
classes.Resample
procedure.Image
class's in-place operators to use C++ in-place operators.__setitem__
support for assigning sub-regions via the PasteImageFilter.Transform.Downcast
method.CSharp
GetConstBufferAs...
.Fix the ImageRegistrationMethod
exception to use GetPixelIDTypeAsString
Update ndarray.tostring
to tobyte
( tostring
deprecated in numpy 1.19.0 )
Add missing deepcopy implementation for Image with RLE "Label" pixel types.
Fixed Python pickling for missed transform classes.
Refactored GetImageFromVector
method to retain reference to original container with a command object. Fixing image buffer aliasing with BSplineTransform
and DisplacementFieldTransform
.
Make TranslationTransform
conversion constructor explicit.
Remove implicit conversion from Image
to Transform
class.
Update StatisticsImageFilter
input convention for ITKv5.
Remove WarpImageFilter
matching image size requirement.
The results of the LiThresholdImageFilter
changes with ITK, baseline test results were updated. ( See ITK commit e3ce37 for details. )
Add additional baseline images for registration results, due to change in ImageRegistration's smoothing algorithm. ( See ITK commit 569a47 for details. )
Correct LabelShapeStatistics
baseline for OrientedBoundingBoxVertices
results. ( See ITK commit 50c695 for details. )
Fix potential double memory free of pixel container in results from internal image to vector image conversions.
Fix RelabelComponentImageFilter
incorrect object size computation with sorting enabled. ( See ITK commit 162101 for details. )
Fix potential ITK pipeline execution error when a filter execute on a vector image by per component.
Add C++11 move semantics support to the Image class.
Add direct support for C++11 lambda command to the ProcessObject
class.
Add GetBufferAsVoid
method to the Image class.
Add Decay
parameter to the MirrorPadImageFilter
.
Update doc strings for Python and JAVA from JSON filter descriptions.
Update examples to use slice based assignment instead of PasteImageFilter
.
Update the tutorials page.
Update FAQ.
Improve WriteImage
Doxygen documentation.
Update RTD Show
procedure documentation.
Add custom HTML Doxygen header with dynamic timestamp insertion, and privacy policy.
Add procedural example to IO page.
Updating the main Doxygen page.
Update Sphinx filter list.
Add example for reading raw image files.
Add DICOM series writing example with floating point pixels.
Add FAQ entry for the differences between ITK and SimpleITK.
Rename Sphinx "installation" page to "getting started".
Update examples from using scalar radius to vector.
Use Doxygen interactive SVG output, and enable client side MathJax for Latex rendering.
Add C++ CMake example for using SimpleITK.
Update examples to use CompositeTransform
.
Update copyright to NumFOCUS.
Add casting to N4BiasFieldCorrection example.
Typo fixes.
Create Docker images for generating Doxygen.
Add C# ConnectedThresholdSegmentation
example.
Remove references to next branch in documentation.
Update R installation instructions.
Add C# ImageReistrationMethod2
example.
Add multi-lingual examples for FastMarchingSegmentationImageFilter
.
Uset stopping time parameter in FastMarchingSegmentation
examples.
Add C# CannySegmentationLevelSetImageFilter
example.
Improve documentation to GetImageFromArray
about isVector
parameter.
Update referenced tutorials.
Add acknowledgment section to readme.
Update Java and CSharp installation instructions.
Move Doxygen pages to Sphinx documents, remove other out dated pages.
Move Sphinx documentation to docs directory.
Address signed to unsigned comparison compiler warnings.
Fix PYTHON_EXECUTABLE
being undefined in CMake for Doxygen.
Add Doxygen MathJAX URL as CMake option.
Continue to address compilation warnings.
Pin Sphinx version for Read-The-Docs.
Remove EXPORT specification for static member function declaration.
Support pass TBB_DIR to ITK in the Superbuild.
Require C++11 standard for compilation.
Replace C++ tr1 usage with standard C++11 classes.
Replace compiler depended defines with C++11 keywords.
Prefer using C++11 lambda over std::bind
when std::placeholders
are not needed.
Improve support on OSX for isysroot flag and CMAKE_OSX_SYSROOT
variable.
Support additional CMAKE_GENERATOR_*
, CMAKE_VS_PLATFORM_TOOLSET_*
variables is superbuild.
Added AWS S3 buckets for data mirroring.
Use SHA512 hash files as index for downloaded source code.
Use CMake for creating zip archives.
Improve finding of Lua interpreter.
Update Lua superbuild version to 5.3.5, require Lua version 5.2 or 5.3 for code generation.
Update PCRE superbuild version to 8.43.
Add USE_CCACHE
cmake option to automatically use ccache as launcher if available.
Enable GNU gold linker by default if available.
Update GTest vesrion to 1.10.0 in superbuild.
Fix incorrect version of virtualenv detected.
ImageViewer
class and Show
procedure.ImageRead
and ImageWrite
procedures.nullptr
over NULL.Announcing the SimpleITK 2.0 Release Candidate 3!
This is anticipated to be the last release candidate before 2.0 final. Users and developers are encouraged to test the RC before the final release and report issues, bugs, and any significant compatibility problems.
Additional release notes can be found in prior candidates:
Complete instructions on getting started with SimpleITK including downloading binaries or building SimpleITK can be found on the SimpleITK Read the Docs web page.
python -m pip install --upgrade pip
python -m pip install --pre SimpleITK --find-links https://github.com/SimpleITK/SimpleITK/releases/tag/v2.0rc3
Conda packages are available from Anaconda Cloud on the SimpleITK
channel. These can be installed with:
conda install -c simpleitk/label/dev simpleitk
Show
method are only checked once. The Show
method now is a wrapper for the ImageViewer
class, and the behavior changed. The SITK_SHOW_EXTENSION
and SITK_SHOW_COMMAND
environment variables if defined initialize the corresponding global defaults only the first time accessed. The environment variables SITK_COLOR_COMMAND
and SITK_SHOW_3D_COMMAND
are removed as the ImageViewer
class allows for direct configuration of the command.Show
to use ImageViewer
class.ImageView
application search path for Mac.DiscreteGaussian
, SmoothingRecursiveGaussian
, ReadImage
and WriteImage
to support keyword arguments.WriteImage
Python procedure the keyword only arguments imageIO
and compressor
.NPasteImageFilter
from the SimpleITKFilters remote ITK module to replace PasteImageFilter
.PasteImageFilter
:
DestinationSkipAxes
parameter__setitem__
for [] operator support:
ImageFileReader::GetImageIOFromFileName
get the ITK ImageIO automatically used for file.ImageRegistrationMethod
exception to use GetPixelIDTypeAsString
ndarray.tostring
to tobyte
( tostring
deprecated in numpy 1.19.0 )PasteImageFilter
.WriteImage
Doxygen documentation.Show
procedure documentation.PYTHON_EXECUTABLE
being undefined in CMake for Doxygen.ImageViewer
class and Show
procedure.ImageRead
and ImageWrite
procedures.