Releases: biocatiit/musclex
v1.26.1
v1.26.0
Major Features
Image Viewer Architecture Refactoring
-
New Widget System: Introduced reusable UI component architecture
ImageViewerWidget: Enhanced image display with integrated tool supportDisplayOptionsPanel: Centralized display controls for brightness, contrast, and zoomDoubleZoomWidget&ZoomHandler: Advanced zoom functionality with dual-view capabilityNavigationControls: Unified navigation widget across all GUIs (EquatorWindow, QuadrantFoldingGUI, XRayViewerGUI)
-
Interactive Tool System: New
musclex/ui/tools/package with modular toolsCenterRotateTool: Quick center and rotation angle setting simultaneouslyChordsCenterTool&PerpendicularsCenterTool: Advanced geometric center-finding methodsRotationTool: Dedicated rotation adjustment with visual feedbackZoomRectangleTool: Interactive rectangular zoom regionsToolManager: Coordinated tool interaction and mode switching
Multiprocessing & Performance
-
Parallel Image Processing: New multiprocessing support for batch operations
- Significantly improved processing speed in EquatorWindow
- Task management system with cancellation support
- Progress tracking for HDF5 and folder processing
- Stop process functionality with real-time feedback
-
Enhanced File Management: Major FileManager improvements
- Full HDF5 file processing support across all GUIs
- Cached directory scanning with disk caching for faster loading
- Asynchronous directory scanning with provisional file selection
- Two-phase loading (synchronous + background) for improved responsiveness
- Better memory management with automatic cleanup
Quadrant Folding Enhancements
-
New Interactive Dialogs:
SetCentDialog: Manual center setting with live image preview and zoom supportSetAngleDialog: Interactive rotation angle adjustmentImageBlankDialog: Blank image subtraction with previewImageMaskDialog: Advanced image masking functionality
-
Improved Center & Rotation Management:
- Refactored center handling with configuration fingerprinting
- Cache validation system to ensure consistency
- "Quick Center and Rotation Angle" tool for efficient calibration
- Center and rotation mode indicators for better visibility
- Restore auto center/rotation with option to apply to current image or all images
- Preserved manual settings during cache operations
UI/UX Improvements
Visual Enhancements
- Bold fonts for group boxes across all GUIs for better visual hierarchy
- Green labels for improved visibility of important information
- Enhanced button styling and consistent appearance
- Improved status bar with file indices and processing information
Progress & Feedback
- HDF5 processing progress display in all GUIs
- Enhanced progress bar formatting with detailed status
- Real-time task completion indicators
- Confirmation dialog when closing windows with running tasks
- "Play Current Folder" button for clearer batch processing control
User Controls
- Persist intensity value feature across processing sessions
- Removed range restrictions on QDoubleSpinBox components (allow any value)
- Allow negative input for rotation angle dialog
- Better navigation button text for clarity
- Window stays on top hint for critical dialogs
Bug Fixes
Data & Processing
- Fixed pandas.errors.InvalidIndexError by removing duplicate "Meridian Sigma" column
v1.25.1.1
QF bug fix for v1.25.1 to make sure release is stable.
v1.25.1
Updates
Quadrant Folding (QF) Improvements
- Center Calculation and Transformations
- Completely overhauled the method for calculating, tracking, and using image centers in Quadrant Folding (QF).
- Implemented coordinate management based on original, non-transformed image coordinates, ensuring accuracy across transformations.
- Fixed extensive issues arising from this transition to a robust, original-coordinate system.
- Corrected strange display behavior occurring immediately upon image load.
- Ensured correct behavior when setting the rotation angle.
- Resolved discrepancies in center calculations.
Calibration Settings Popup Enhancements
- Improved Calibration Workflow
- Allowed independent toggling of calibration image and parameter calibration.
- Ensured that checking or unchecking calibration options behaves intuitively without forcing unnecessary recalibrations.
- Resolved bug causing calibration images to print plot titles twice, enhancing readability and clarity of output.
- Ensured calibration images are oriented the same way as images in the main window.
Persistent Center and Orientation
- Consistency Across Files
- Implemented consistent persistence of user-specified centers and orientations across sequential image processing, particularly in batch and individual
.tiffiles. - Fixed persistent orientation and center logic for batch and streaming
.tifcases. - Corrected recalculation issues triggered by unrelated QF attribute changes.
- Implemented consistent persistence of user-specified centers and orientations across sequential image processing, particularly in batch and individual
Masking Enhancements
- Radius-Based Masking
- Integrated radius-based masking (
rmin/rmax) into theImageMaskerWindow, providing precise control over mask regions. - Fixed critical bugs ensuring masks created in the
ImageMaskingToolare correctly applied in QF, especially after the center calculation overhaul. - Corrected bug where disabling radius-based masking (
rmin/rmax) failed to trigger recalculations, ensuring accuracy.
- Integrated radius-based masking (
File Navigation and Handling
- Robust File Management
- Resolved "Next File" button issue causing repeated processing of the same
.tifimage due to persistent center handling changes. - Enhanced robustness of file handling, gracefully managing errors from incorrectly formatted or problematic
.h5and.txtfiles.
- Resolved "Next File" button issue causing repeated processing of the same
Projection Traces (PT) Testing Suite
- Test Debugging and Accuracy
- Thoroughly debugged PT testing suite errors and identified root causes related to incorrect CSV column handling.
- Addressed discrepancies between GUI and headless testing modes, updated reference CSVs, and clarified discrepancies for follow-up.
XV Module Improvements
- Measure Popup and Logging
- Enhanced
measure distancepopup in XV to allow multiple sequential measurements without obstructing GUI use. - Implemented numbered history entries for each measurement.
- Improved error handling for log files, making XV module more resilient and user-friendly.
- Enhanced
Known Bugs
- Mar and Eiger PT: Tests fail due to anomalous test data; requires further examination.
- QF Recalculation: Center recalculates unnecessarily when specific attributes change.
- Set Rotation Bug: Using "Set Rotation" without "Fixed Center" prompts unwanted center recalculations.
- Radius Mask Disable: Disabling
rmin/rmaxmasks does not trigger mask recalculation immediately. - Calibration Interaction Lock: "Set Calibration by points selection" locks intensity adjustment and cancelation controls.
- EQ Module UI: Image counter and progress bar may show inaccuracies during folder processing.
- XV Log Parsing: "Trace Window" fails to handle improperly formatted log files accurately.
v1.25.0
Updates
Quadrant Folding (QF) Improvements
-
Fixed Center & Fixed Orientation
- Implemented and debugged checkboxes to hold user-specified center and orientation across an entire folder of images (
Process Folder). - Ensured that enabling "Fixed Center" or "Fixed Orientation" prevents automatic recalculation on subsequent images.
- Implemented and debugged checkboxes to hold user-specified center and orientation across an entire folder of images (
-
Ignore Quadrant Bug
- Corrected issue where right-clicking to ignore a quadrant ignored the wrong one.
-
Center Calculation and Calibration
- Overhauled center setting and image calibration processes.
- Improved handling of user-defined centers through transformations.
- Fixed issues in CalibrationSettings popup:
- Changing intensity while selecting calibration center.
- Duplicate drawing of plot titles and axis labels.
-
UI & Layout Adjustments
- Added scrollbars and resizing logic to prevent GUI issues when background subtraction is active.
- Reorganized "Original Image" page checkboxes for intuitive placement.
-
Center Examine Tool
- Utility to inspect center-related transformations step-by-step.
-
Background Subtraction Enhancements
- Consistent background subtraction settings and outputs, including batch processing.
- Total background intensity within defined radii (
rmin,rmax) now written to CSV.
-
Threading and Batch Processing
- Fixed thread-lock issues when "Fixed Center" or "Fixed Orientation" are active.
- Added optional popup notification upon folder processing completion.
Masking Overhaul
-
Unified Masking & Blank Image Subtraction
- Refactored masking system for robustness and consistency across modules (QF, PT, EQ, AISME).
- Added colored overlay visualization of masked regions consistently across main GUI and popups.
-
Threshold Masking and Dilation
- Introduced intensity thresholds and morphological dilation options.
- Implemented user controls for mask region visualization and tuning.
-
Enhanced File Handling
- Ensured correct mapping of masks for rotated/transformed images upon save/load.
- Tested compatibility with
.tifand.h5formats, including partially corrupt files.
Projection Traces (PT) Enhancements
-
Set Center by Perpendiculars
- Precisely records selected center, compatible with Double Zoom.
- Updated center coordinates correctly sent to
CalSettingsDialogue.
-
Summary.csv Updates
- Added parameters like meridional peak widths and areas from three-peak Gaussian model.
- Enhanced clarity of reporting for analysis points.
-
Clear Peaks Feature
- Functionality to remove incorrectly selected peaks.
-
Zoom Improvements on "Boxes" Page
- Improved zooming functionality to enhance peak visualization.
-
Resizing Bug
- Resolved issue causing unpredictable resizing upon mouse hover.
Equator (EQ), AISME, DI, XV, and Other Modules
-
EQ Module
- Improved error logging and messages for loading-time bugs.
- Standardized file-selection and calibration behaviors with other apps.
-
AISME (Add Intensities SME)
- Integrated new masking functionality for intensity exclusion.
- Clarified documentation on single vs. multiple experiments.
-
DI, XV, and Global Consistency
- Added scrollbars to avoid UI squishing on smaller screens.
- Normalized initial file-open behaviors across PT, QF, EQ, and XV.
- Added real-space distance measurements and inverse nanometer calibration in XV.
- Enhanced graph zooming features in XV.
Double Zoom and UI Interactions
-
Double Zoom Widgetization
- Reusable widget for double zoom behaviors.
- Adjusted movement sensitivity dynamically for precision control.
-
Precise Mouse Control
- Sensitivity dynamically adjusts based on mouse speed.
- Easy toggle between double zoom and standard modes.
New Modules & Features
-
Total Displayed Intensity (TDI)
- New standalone module (
musclex tdi) to compute total intensity. - Outputs CSV summarizing image names, mask files, and intensities.
- Supports headless mode for batch processing.
- New standalone module (
-
Persistent Measurement in XV
- Popup window for continuous distance measurements.
- Maintains measurement history until explicitly closed.
Improved Error Handling & Installation Support
-
Invalid File Handling
- Enhanced error reporting for corrupt
.h5files and misnamed.txtfiles. - Clearer guidance for datasets referencing missing files.
- Enhanced error reporting for corrupt
-
Mac (Apple Silicon) Installation
- Documented installation steps for Apple Silicon Macs.
- Streamlined conda commands and setup instructions.
-
Siplash/Siphash Warning
- Reduced alarm level for startup warnings related to
siphash24.siphash13.
- Reduced alarm level for startup warnings related to
Documentation & Testing Overhaul
-
Development & Release Documentation
- Clarified branching strategy and release management.
- Enhanced user manuals and documentation screenshots.
-
Testing Suite
- Revived module for result comparisons with saved references.
- Evaluating methods for handling large reference datasets.
Known Bugs
- Some of the PT tests in the GUI vs. Headless testing module are failing. It is unclear what is causing this and how long this has been happening.
v1.24.0
Updates
General
- Switched from PyQt5 to Pyside6 to support Python versions 3.11 and beyond.
- Fixed tests to account for smaller number differences
- Added the ability to read distance from center in inverse nanometers if the image has been calibrated, otherwise distance will be in pixels
- Supports smaller screen sizes by allowing scrolling if the gui is truncated
- tiff compressor/uncompressor now names if the files have been compressed/uncompressed
- bad h5/tiff files will no longer crash the program when trying to open
Equator
- Fixed opening an empty failed cases text file to crash
- Added a spinbox to allow the user to control the threshold/max fitting error allowed to mark if it is a bad fit
- Added an option in the fitting tab to perform a 1-D interpolation on the histogram to fill gaps in data to improve fitting/convex hull
- Separated GUI and processing threads to remove "MuscleX is not responding" popups during processing
- Fix eq crashing when switching tabs during processing
AISE/AIME
- Merged AISE and AIME into one program "AISME"
- Reworked gui to be more simplistic
- Added an option to select a custom sequence (AISE) or the experiments to work with (AIME)
- Added a new mask/blank image selection dialog
- Added a new calibration dialog button
- Added a misaligned images detection algorithm
Quadrant Folder
- Fix processing multiple h5 files crashing when moving to the next one
- Separated GUI and processing threads to remove "MuscleX is not responding" popups during processing
- Quadrant Folder now utilizies multiple threads during processing to speed it up
- Added an option to "Persist Rotations", which uses a manually set rotation angle for all images
- Fixed qf not background subtracting in headless mode
Projection Traces
- Separated GUI and processing threads to remove "MuscleX is not responding" popups during processing
- Projection Traces now utilizies multiple threads during processing to speed it up
- Added an option to drag the peak lines to adjust them
- Added a button "Edit Peaks" to edit the parameters of a fit
- Added a button "Edit Boxes" to edit the dimensions of a box
XRayViewer
- Fixed graph slicing x-axis to be the coordinates of the original slice instead of starting from 0
- Added a double zoom to XV Image Tab
v1.23.2
Updates
- Persist Rotations in QF
- Rotations are now persisted in the Quadrant Folding (QF) module.
- Measure Distance in Graph for XV
- Distance measurement functionality added to the graph in the XV module.
- Fix File Manager
- Various fixes applied to the file manager for improved stability and performance.
- Error Message for Invalid Log Trace File in XV
- Added an error message to handle invalid log trace files in the XV module.
- Updated QF Documentation
- Documentation updated to include the fold image option in the QF module.
- Headless Mode Fixes
- Multiple fixes applied for headless mode operations:
- Image mask tool now displays images correctly.
- Progress bar issues fixed on quadrant folding.
- Double zoom functionality added to the XV module.
- Multiple fixes applied for headless mode operations:
- Minor Issue Fix
- Addressed a minor issue in the application.
- Fixed H5 Files Crashing in the Next Series
- Resolved a crash issue related to H5 files in the subsequent series.
v1.23.1
Updates
- fixed library constraints causing installation with versions of python >= 3.11 to fail when installing musclex with pip
- fixed library versions in setup.py causing tests to fail with pip version
v1.23.0
Updates
- Implementation of background subtraction functions in Python, replicating fortran functions in QuadrantFolder
v1.22.0
Updates
- Bug fixes (PT functionalities, QF and EQ bugs...)
- PT: Headless mode, center and rotation tools, interface improvements
- EQ: Rmax added to crop histograms and remove outside artifacts
- QF: ROI improvements
- H5 files processing improved : everything can be done directly on H5 files without converting
- Documentation update