Mantid Imaging 2.4#
This release brings some significant new features:
- Windows support
This release contains initial Windows support. It should be fully functional, although may have performance differences compared to Linux. It can be installed using conda (See Installation). We are interested in user feedback and aim to ship an installer in a future version.
- NEXUS export
MI can now save datasets into the NXtomo and NXtomoproc formats.
- Operations window improvements
- Angle/Z slider
In the operations window there is now a slider to move through images in a stack.
- Automatic sinograms
It is no longer necessary to manually convert to sinograms to use the stripe removal filters
- Improvements to levels and zoom
These are now locked by default to so it is easier to see the effect of changes to filters. They can be unlocked to enable auto scaling.
- Reconstruction improvements
CIL PDHG non-negativity constraint
- Line profile
Movable line profile through the reconstruction preview
- Internal changes
In order to support Windows MI has switched its multiprocessing implementation from fork to spawn which has required a change from multiprocessing.SharedArray to multiprocessing.shared_memory.
- Experimental spectrum viewer
Some initial work on supporting Time of Flight imaging data.
Many fixes and clean ups to the code
- Removed some unneeded options
ROI normalisation - preserve max option
Stripe Removal filter (note other 5 stripe removal filters remain)
Console progress bar
There have also been many smaller changes and fixes which are listed below.
New Features#
#1340 : ROI norm - remove preserve max option
#1379 : Add angle/z axis slider in the operations window
#1217 : Basic NeXus Saving
#1385 : Load all NeXus rotation angles
#1394 : NeXus Busy Indicator
#1394 : Add .nxs extension to NeXus save path
#1399 : NeXus Saving OSError message
#1331 : Make MI Windows compatible
#1430 : Provide an Anaconda package that is compatible with Windows
#1398 : Save recons to NeXus file
#1444 : CIL PDHG non-negativity constraint
#1483 : Add line profile to reconstruction window
#1480 : Automatic sinograms for sinogram operations
#1523 : Lock zoom and lock scale selected by default in operations window
#1524 : Flat fielding after histogram locks to appropriate range when using lock scale
#1583 : Remove sinogram Stripe Removal filter as it is not needed
Fixes#
#1381 : Don’t use console progress bar in GUI application
#1405 : MedianFilter work inplace on ImageStack
#1395 : Delete file when NeXus saving fails
#1397 : Only use real NeXus projection angles
#1473 : Tomopy COR finder use -log
#1475 : Fix scaling when saving to int
#1484 : Clear image previews in open windows when there are no stacks to select
#1496 : OutliersFilter IndexError when using sinograms
#1515 : Unlink axis in recon window
#1351 : Double clicking reconstruct buttons can cause RunTimeError
#1562 : Stop reconstruction previews updating when window is closed
#1564 : 180 stack not removed from main window when projection stack is deleted
#1561 : IndexError in Reconstruction window if select a slice or projection index that’s too high
#1565 : Compiler no longer needed for conda install
Developer Changes#
#1272 : Consistent test class filenames
#1352 : Update astra-toolbox and cudatoolkit to allow windows installation
#1317 : Unify auto color palette code between MIMiniImageView and MIImageView
#1363 : Add auto color menu from constructor in MIMiniImageView
#1362 : Rename Images class to ImageStack
#1148 : Re-enable coverage checking
#1375 : Leak tracking tool
#1376 : Fix leak in StackChoiceView
#1387 : Fix async task leak
#1384 : Remove StackSelectorWidget and StackSelectorDialog
#1420 : Save NeXus data without concatenate
#1402 : Add GitHub Actions tests for Windows
#1449 : Update CIL to 21.4, Astra to 2.0
#1341 : Update to python 3.9, numpy 1.20
#1509 : Change nametuples to use NamedTuples from typing
#1495 : Document the harmless libdlfaker.so errors on IDAaaS
#1427 : Update pytest and coverage to latest versions