New and improved features
The latest release of MuhRec focus on speed improvments and over all stability. In particular the Mac version has benefited from the increased use a new thread pool which allows threading in many algorithms, including the FDK reconstructor. Several bug fixes have contributed to the quality of MuhRec. Furtermore, great improvements to the build system to help to enhance stability, build performance, and sustainability of the code. The support for using MuhRec in python has also been improved.
The current development paves the way for new algorithms in the comming releases.
Build system and code health
Overall, this update enhances MuhRec’s stability, performance, and usability while modernizing the build system for future improvements. The great number of compilation warnings have been addressed which has reduced the potentialambiguities in the code. This cleaning action also makes it easier to track build errors in the log files. We have also updated the C++ version to C++20, which will open new opportunities in the future development. At the same time we also updated to Qt 6.8.2.
Users can expect a more robust experience across platforms, with better testing coverage, improved threading performance, and smoother package management.
Fixed Bugs
A significant number of bugs affecting stability and usability have been addressed in this release. All resolved issues in this release are listed below.
Solved issues
A list of the specific issues:
- Issue 782 - conan cmake version too old
- Issue 780 - Remove plugins folder
- Issue 774 - Create streamlined app installers across platforms
- Issue 764 - Update versions of C++ and Qt
- Issue 761 - Add Conan Flag for profiling
- Issue 758 - Default muhrec parameters not loaded on linux
- Issue 755 - Loading non-module files causes MuhRec to crash
- Issue 752 - Check center of rotation in FDK
- Issue 747 - MacOS-12 runner on GitHub has been deprecated
- Issue 746 - Implement transform method in thread pool
- Issue 743 - Fix path in CLI windows
- Issue 742 - CLI muhrec
- Issue 736 - Add test data to pymuhrec CI
- Issue 734 - MacOS Apple silicon build is broken due to sse2neon header
- Issue 730 - Timer test fails
- Issue 729 - Math test fails
- Issue 727 - Adding utility repo to the pymuhrec package
- Issue 726 - Notebooks cannot be run as is
- Issue 725 - FlyCI deprecation
- Issue 722 - Add unit tests to CI for build of Python wheels
- Issue 721 - Check spot clean pybind
- Issue 716 - CLI processing doesn't work on windows
- Issue 712 - Clear warnings in QtAddons
- Issue 711 - Clear warnings in ImagingAlgorithms
- Issue 709 - Clear warnings in FDK classes
- Issue 708 - Clean warnings in readers
- Issue 706 - Clean warnings in advanced filters
- Issue 705 - Build failure on Linux
- Issue 701 - Add override declarations for virtual functions
- Issue 699 - Clean QT_DEPRECATED warnings
- Issue 694 - Unused variables cleanup
- Issue 692 - Fix warnings related to sse2neon
- Issue 690 - symbol lookup error
- Issue 689 - Use doxygen to automate the generation of the documentation of imagingsuite
- Issue 688 - Clean sign check warnings in morphology
- Issue 685 - segmentation fault when changing from Projections to Open beam/Dark current
- Issue 684 - Resolution Problem with GUI (Muhrec)
- Issue 681 - Recon exception reconstruction failure
- Issue 680 - Update data path in test
- Issue 676 - Missing dependencies in MuhRec app bundle
- Issue 675 - Fix rounding error in the noise image test
- Issue 674 - Undefined symbol when running MuhRec
- Issue 672 - RingClean python binding check-up
- Issue 670 - Remove old code and scripts
- Issue 668 - Build Problem: Wrong generator flag
- Issue 667 - Make python bindings available with pip install
- Issue 666 - Add workflow to produce python wheels for packaging python bindings
- Issue 661 - Wrong module path in CLI mode on MacOS
- Issue 659 - Add scripts to prepare headless muhrec operation.
- Issue 658 - Add Conan package management and CI/CD for multi-OS builds
- Issue 657 - Add Conan package management and CI/CD for multi-OS builds
- Issue 656 - System-independent package management
- Issue 655 - Multi-OS CI & CD
- Issue 654 - Test fixes
- Issue 652 - Muhrec CLI arguments
- Issue 650 - tThreadPool fail on Linux
- Issue 649 - Fix failing test in tModuleConfig
- Issue 647 - Fix fit real data test
- Issue 646 - problem with MuhRec (Recon Exception)
- Issue 644 - Revise SharedBuffer
- Issue 615 - MuhRec: Fix missing deployment scripts
- Issue 600 - Check python bindings of the back projection
- Issue 593 - Deploy python packages
- Issue 588 - Find center crashes in branch bbcrash
- Issue 577 - Use STL threads in TMedianFilter
- Issue 570 - Setup windows build on jenkins
- Issue 539 - Threading in MorphSpot clean class
- Issue 517 - Solve universal app bundle in CMake for MacOS
- Issue 510 - Update Ubuntu build server to 20.04 and Qt 6.2
- Issue 509 - Update MacOS build server to newer OS and Qt 6.2
- Issue 508 - Update Windows build server to MSVC 2019 and Qt 6.2
- Issue 507 - Speed up CBCT
- Issue 495 - MuhRec overlays slices
- Issue 460 - Muhrec reconstructing from other file index than one
- Issue 262 - Make a working py binding with kipl
- Issue 147 - Update external libraries (Windows)
- Issue 2 - MuhRec - option same projection
Known problems
Check out the issue list for more information about known problems.