Skip to content

v2.2.0

Compare
Choose a tag to compare
@Thyre Thyre released this 07 Jul 12:05
· 223 commits to master since this release

v2.2.0

Added

  • Added SLIXVisualizeParameter to the toolbox which enables visualizing directions either as a fiber orientation map or as vectors seen before in the example Jupyter notebook
  • Added a new paragraph to the README.md to explain the new SLIXVisualizeParameter
  • Added a new method in visualization.py to generate a fiber orientation map from a direction.
  • Added a --correctdir option to SLIXParameterGenerator to accommodate for a camera shift during the measurement which impacts the resulting direction angle.
  • Added a --smoothing option to SLIXParameterGenerator as there are now two methods to smooth the line profiles of a measurement (Savitzky-Golay and Fourier)
  • Added a --output_type option to SLIXParameterGenerator. SLIX now generally supports TIFF, HDF5 and NIfTI files. HDF5 files require that the image is locaed at /Image
  • Added a --unit_vector option to write unit vectors (as .nii). The functionality was implemented already but there wasn't a parameter for users.
  • Added attributemanager.py which handles the newly added attributes in HDF5 files.
  • Added the option to read an entire folder of 2D image files instead of an image stack when following the following regex syntax: .*_+p[0-9]+_?.*\.(tif{1,2}|jpe*g|nii|h5|png)
  • Added imwrite_rgb to io.py for writing fiber orientation maps as TIFF or HDF5.
  • .nii.gz files can now be read. While this was technically possible before this change, a if clause prevented the usage of the right library

Changed

  • Added compression to all available data types (.tiff, .nii.gz, .h5). nii files will only be written as a compressed file if you use --output_type .nii.gz. Other data types will be compressed automatically.
  • Overhaul of the documentation. The path changed from /doc to /docs. The documentation is now hosted on https://3d-pli.github.io/SLIX/
    and isn't solely in the GitHub wiki anymore.
  • Changed the datatype for the detected number of peaks from int to uint16 because there shouldn't be more than 65535 peaks in a measurement.
  • There is now only a single _cmd.py instead of two cmd_[...].py which cleans up the package a bit.
  • Added documentation to missing methods.
  • Changed how the background_threshold parameter works. Now, you define a fraction. If the fraction of background pixels lies above this defined threshold,
    background pixels will not be considered for computing the median for visualizing a downscaled vector image.
  • The CPU and GPU separation of the SLIX toolbox are now protected as users should only use the main methods.
  • Changed the error message when the GPU cannot be used due to errors with Numba. Previously the same message shown when CuPy couldn't be initialized was shown.
  • Changed the background mask algorithm when using SLIXParameterGenerator. Instead of a fix value it is not based on the average image histogram. The parameter remains disabled by default.
  • Removed the --mask_threshold parameter from SLIXParameterGenerator in process of the previously bullet point.

Fixed

  • Fixed a bug where the direction of a line profile with two peaks wasn't generated when the distance between the peaks was outside of 180° +- 35°.
  • Fixed a few bugs regarding image orientations when reading / writing different data types
  • When importing a module from SLIX, the underlying modules were visible. This is now resolved.
  • Fixed a bug which could result in white pixels inside of the visualized direciton.
  • Fixed the missing parallelization of the peak generation when using only the GPU. Previously an issue with Numba prevented this. A change in the code structure now allowed to implement parallelization.