Releases: FAST-Imaging/FAST
v4.15.1
This is only a minor patch update.
Changes
- Copy/Move image data to host, not default device, when getting a raw or unique pointer to data. This removes some unnecessary CPU->GPU->CPU memory transfers.
- Disable compression not supported warning with TIFF.
- Added detailed runtime measurements in ImagePyramidAccess object.
Download and Install
Release binaries and installers can be downloaded below by pressing "assets". Make sure you have the required dependencies installed on your system before using the release: see the installation instructions for Windows, Ubuntu Linux, macOS and Docker containers.
v4.15.0
Changes
- Added the display2D and display3D shortcut functions to both Python and C++ version of FAST for reducing boiler plate code when displaying data (see example below).
- Added support for PyTorch tensors in Image and Tensor in pyFAST with the two functions fast.Image.createFromTensor and fast.Tensor.createFromTensor.
- Fixed bug in DicomMultiFrameStreamer.
- Renamed DicomMultiFrameStreamer to DICOMMultiFrameStreamer, and FAST_MODULE_Dicom to FAST_MODULE_DICOM.
- Upgraded DCMTK on macOS arm64 to 3.6.9.
- Added possibility of specifying another image pyramid structure in ImagePyramid::create than the default downsample by factor 2.
- Removed check that removes any image pyramid levels less than 4 MB when importing with OpenSlide.
- macOS x86_64 builds are now done on macOS 15 since macOS 13 runner on github is being removed.
New display2D and display3D shortcut functions
Instead of this:
renderer1 = fast.ImageRenderer.create().connect(image)
renderer2 = fast.SegmentationRenderer.create(opacity=0.25).connect(segmentation)
fast.SimpleWindow2D.create(bgcolor=fast.Color.Black()).connect([renderer1, renderer2]).run()You can now just do this:
fast.display2D(image, segmentation, segmentationOpacity=0.25, bgcolor=fast.Color.Black())A 3D version display3D also exists. And these functions are also available for C++.
Download and Install
Release binaries and installers can be downloaded below by pressing "assets". Make sure you have the required dependencies installed on your system before using the release: see the installation instructions for Windows, Ubuntu Linux, macOS and Docker containers.
v4.14.1
Changes
- Added --no-gui command line option to systemCheck tool.
- Throw exception when importing with OpenSlide and nr of levels is < 1, which can happen when importing dicom WSIs.
- Made estimation of magnification from spacing optional in ImagePyramid::getMagnification, default is false.
- Throw exception in DrawCircle if no centroids or radius were given.
Download and Install
Release binaries and installers can be downloaded below by pressing "assets". Make sure you have the required dependencies installed on your system before using the release: see the installation instructions for Windows, Ubuntu Linux and macOS.
v4.14.0
Changes
- Use zlib-ng instead of standard zlib which improves zraw and nii.gz decompression and compression runtime.
- Use libjpeg-turbo on windows which give improved jpeg decompression and compression runtime performance.
- Use bundled tiff and libjpeg-turbo on mac which removes the need for using brew.
- Added 2D support to ImageInverter.
- Added pixel connectivity option to SeededRegionGrowing.
- Implemented FillHoles, DrawCircle and DrawCubicHermiteSpline process objects.
- Fixed bug in getModifiedDate used when checking if OpenCL kernels need to be recompiled on windows.
Download and Install
Release binaries and installers can be downloaded below by pressing "assets". Make sure you have the required dependencies installed on your system before using the release: see the installation instructions for Windows, Ubuntu Linux and macOS.
v4.13.1
Changes
- Fixed potential seg fault when importing OME-TIFF files.
- Large performance improvements of ImagePyramidAccess and PatchGenerator when reading TIFF files. This was achieved by fixing some bugs, nested loop optimizations and tile caching.
- Moved runtime measurement from ProcessObject to Object.
- Some code cleanup
Download and Install
Release binaries and installers can be downloaded below by pressing "assets". Make sure you have the required dependencies installed on your system before using the release: see the installation instructions for Windows, Ubuntu Linux and macOS.
v4.13.0
Changes
- Implemented support for reading JPEG compressed TIFF files where the JPEG tables are stored globally in the JPEGTables tag instead of for each tile.
- Added TextWidget; a simple object for adding text and variables to a window.
- Added possibility of giving vertex point size in millimeters to the VertexRenderer.
- Added opacity parameter to VertexRenderer.
- Added extractContours parameter to RegionProperties.
- DataHub download and getItem no longer requires internet connection, if files are already downloaded.
- Fixed bug with image pyramid and segmentation rendering not working with RenderToImage.
- Fixed bug in PatchGenerator and TissueSegmentation when generating only one image patch.
- Fixed bug in Mesh when updating data on host.
- Fixed bug with stopPipeline in PythonProcessObject in pyfast.
- Fixed bug with CL-GL interoperability on windows.
Download and Install
Release binaries and installers can be downloaded below by pressing "assets". Make sure you have the required dependencies installed on your system before using the release: see the installation instructions for Windows, Ubuntu Linux and macOS
v4.12.0
Changes
- Upgraded to OpenSlide 4.0.0 on all OS.
- Upgraded ONNXRuntime to version 1.22
- Upgraded Clarius Cast to version 12.0.2
- Fixed bug with Streamers never being destroyed.
- Fixed bug with right and bottom edge image pyramid tiles not always displaying.
- Fixed issue with PatchGenerator and PatchStitcher when creating patches at the first row and column when overlap > 0.
- Fixed issue with PatchGenerator blocking when no patches are generated. It now throws an exception instead.
- Removed TensorFlow from python wheel. It is now automatically downloaded from GitHub if the inference engine is requested.
Download and Install
Release binaries and installers can be downloaded below by pressing "assets". Make sure you have the required dependencies installed on your system before using the release: see the installation instructions for Windows, Ubuntu Linux and macOS
v4.11.0
Changes
- Rewrote Python wrapper for Eigen Vector and Matrix data types to use Python tuples & lists instead of NumPy arrays:
- Because of this, NumPy is no longer a required dependency of pyFAST.
- This introduces some breaking changes in pyFAST, see below.
- Updated DCMTK to version 3.6.7.
- Added the DicomMultiFrameStreamer which enables streaming of multi frame images from dicom files.
- Added the FrameSynchronizer.
- Fixed bugs with new neural network based TissueSegmentation #223 #228
- Improved compilation speed of python bindings.
- Fixed issue with latest major release of CMake (version 4.0).
- Improved compilation of documentation:
- Can now be built separately.
- Can be built on Windows and Linux.
- Build and uses a specific version of Doxygen.
- Improved Github actions continuous integration workflows with more tests.
Breaking changes in pyFAST
Python bindings of Vector and Matrix data types in pyFAST have breaking changes as shown below.
Getting vector component values:
# Before:
spacing_x = image.getSpacing()[0, 0]
spacing_y = image.getSpacing()[0, 1]
# Now:
spacing_x = image.getSpacing()[0]
spacing_y = image.getSpacing()[1]Setting a vector value (numpy no longer needed):
# Before:
image.setSpacing(np.ndarray([1.2, 2.3, 1.0], dtype=np.float32))
# Now:
image.setSpacing([1.2, 2.3, 1.0])Download and Install
Release binaries and installers can be downloaded below by pressing "assets". Make sure you have the required dependencies installed on your system before using the release: see the installation instructions for Windows, Ubuntu Linux and macOS
v4.10.0
Changes
- Improved tissue segmentation of whole slide images using a neural network instead of color thresholding. Color thresholding still available through constructor arguments.
- Added JPEG-XL support to image pyramids (TIFFs) and in the ImageFileImporter and ImageFileExporter
- Added JPEG/JPEG-XL quality parameter for image pyramids and in the Image Exporter.
- Upgraded Clarius Cast to version 11.2. Have not updated to version 12 yet due to library incompatibilities.
- Added getMagnification and setMagnification to image pyramids. Magnification is retrieved from metadata if available, otherwise users can set it manually.
- Restrict to numpy version 1.X in pyFAST
- Implemented support for storing blank patches in image pyramids.
- Added option to force image pyramid output in PatchStitcher
- Several minor bug fixes ++
Release binaries and installers can be downloaded below by pressing "assets". Make sure you have the required dependencies installed on your system before using the release: see the installation instructions for Windows, Ubuntu Linux and macOS
v4.9.2
Changes
- Improved support for reading OME-TIFF whole slide image files (single series, 3-channel RGB with LZW or JPEG compression)
Release binaries and installers can be downloaded below by pressing "assets". Make sure you have the required dependencies installed on your system before using the release: see the installation instructions for Windows, Ubuntu Linux and macOS