Skip to content

Conversation

@anzalks
Copy link
Owner

@anzalks anzalks commented Dec 11, 2025

No description provided.

This commit refactors multiple analysis tab classes (EventDetectionTab, RinAnalysisTab, BaselineAnalysisTab, SpikeAnalysisTab) to inherit the signal channel and data source combo boxes from the BaseAnalysisTab. The data selection UI setup is now centralized, improving code maintainability and reducing redundancy. Additionally, the analysis triggering methods have been updated to utilize the template method pattern for better consistency across tabs. Comprehensive logging has been added to facilitate debugging and track the analysis processes.
This commit addresses nine identified bugs across various analysis tabs, including:
- Corrected method name checks in `_gather_analysis_parameters` and `_execute_core_analysis` to match UI definitions in `EventDetectionTab`.
- Resolved numpy array boolean ambiguity in `RMP` tab's `_execute_core_analysis`.
- Updated the verification report to reflect the successful fixes and ensure clarity on the changes made.

All existing tests pass, confirming the stability and correctness of the analysis functionalities.
This commit resolves six critical bugs affecting the EventDetectionTab and ExplorerTab, including:
- Corrected attribute references in `_gather_analysis_parameters` for the "Baseline + Peak + Kinetics" method to prevent AttributeError.
- Updated function call in `_execute_core_analysis` to use the correct function name and parameters, ensuring proper execution of the analysis.
- Initialized the `plot_widgets` attribute in ExplorerTab to prevent crashes when loading files.

All identified issues have been verified, and the application now functions correctly without runtime errors. Comprehensive tests confirm the stability of the analysis functionalities.
…alculations, and enhance Spike tab with detailed spike feature analysis.
…mporary item hiding and simplifying range padding.
…late missing sampling rates, and remove redundant spike analysis method.
… management

This commit introduces the SessionManager into the AnalyserTab, ExplorerTab, and MainWindow classes, enhancing the synchronization of analysis items and recording states across the application. Key changes include:
- Initialization of SessionManager in the AnalyserTab and ExplorerTab.
- Connection of signals to update analysis sources and recording states dynamically.
- Updates to the handling of analysis items to ensure UI consistency with the session state.

These enhancements aim to streamline user interactions and maintain a coherent application state during analysis tasks.
…onality in GUI

This commit introduces High DPI scaling support in the Qt application, improving visual clarity on high-resolution displays. Key changes include:
- Enabled High DPI scaling policies and pixmap usage for better icon rendering.
- Implemented a custom `AnalysisSourceListWidget` to handle file drops for analysis, enhancing user experience.
- Updated tab switching logic to ensure the correct analysis item is selected when changing tabs.

These enhancements aim to improve the overall usability and visual fidelity of the application, particularly on high-DPI screens.
…pdates

This commit adds functionality to the ExplorerTab to handle changes in selected analysis items reported by the SessionManager. Key changes include:
- Connected the `selected_analysis_items_changed` signal to a new slot that updates the internal state and UI elements.
- Implemented a method to refresh the displayed summary text and update button states based on the current analysis items.

These enhancements ensure that the ExplorerTab remains in sync with updates from other components, improving user experience during analysis tasks.
…prove error handling in BaseAnalysisTab

This commit addresses issues in the ExplorerTab by enforcing float conversion for range settings in the view boxes, ensuring consistent behavior during zoom and scroll operations. Additionally, it enhances error handling in the BaseAnalysisTab when loading recordings, providing clearer logging and user feedback for loading failures. These changes improve the robustness and user experience of the application.
This commit introduces a fixed width for the Y-axis in the ExplorerTab, ensuring consistent alignment of vertical lines across all stacked plots. This enhancement improves the visual coherence of the plot display, facilitating better data comparison and analysis.
… signal handling and flexible pipeline configuration

This commit introduces several enhancements to the AnalyserTab and BatchAnalysisEngine. Key changes include:
- Added signal blocking during the loading of analysis tabs to prevent premature updates.
- Improved error handling and logging for loading analysis modules.
- Refactored the batch processing logic to utilize a flexible pipeline configuration, allowing for dynamic analysis task execution.
- Registered spike detection as a pipeline-compatible analysis function, improving integration with the batch engine.

These updates aim to enhance the robustness and flexibility of the analysis workflow, providing a better user experience during data analysis tasks.
This commit introduces a comprehensive verification function in `verify_synaptipy.py` to ensure the integration of new components, including checks for the `AnalysisRegistry`, `CSVExporter`, `EventDetectionTab`, and `NeoAdapter`. Additionally, it refactors the `AnalyserTab` and various analysis tabs to support state persistence and improve UI layout with splitters. The CSV export functionality is also enhanced for better handling of analysis results. These changes aim to improve the robustness and usability of the analysis workflow.
… organization

This commit refactors the layout of the AnalyserTab and various analysis tabs to utilize splitters, enhancing the organization of controls and results. Key changes include:
- Removal of sidebar widgets in favor of a more integrated layout.
- Direct addition of analysis controls to the main layout, streamlining the UI.
- Introduction of a method in BaseAnalysisTab to manage global controls, allowing for better encapsulation and reuse across different analysis tabs.
- Adjustments to the layout of individual analysis tabs to maintain consistency and improve user experience.

These updates aim to create a more cohesive and user-friendly interface for data analysis tasks.
…ntegration

This commit enhances the AnalyserTab and its associated analysis tabs by implementing a method to inject global control widgets directly into the tab layouts. Key changes include:
- Redesign of the AnalyserTab to remove the sidebar and integrate controls into each tab's layout.
- Introduction of a `set_global_controls` method in the BaseAnalysisTab to manage the placement of global controls.
- Updates to individual analysis tabs to store references for global controls, ensuring they are displayed correctly.

These modifications aim to create a more cohesive and user-friendly interface for data analysis tasks, improving the overall user experience.
… UI integration

This commit adds a comprehensive batch analysis system to Synaptipy, enabling users to process multiple files with customizable analysis pipelines. Key features include:
- A registry-based architecture for flexible analysis function registration.
- Support for multi-file processing with configurable scopes (e.g., average traces, all trials).
- Background processing to maintain UI responsiveness during analysis.
- CSV export functionality for aggregated results.
- A new button in the AnalyserTab for initiating batch analysis, along with a dialog for selecting files and configuring analysis parameters.

These enhancements aim to improve the efficiency and usability of data analysis workflows within the application.
…sing with channel filtering and JSON export, and add new verification tests.
… existing GUI components, and add comprehensive test coverage.
…B export dialog to pre-fill metadata from recording.
@anzalks anzalks closed this Dec 11, 2025
@anzalks anzalks deleted the analysis-customisations branch December 11, 2025 15:11
@anzalks anzalks restored the analysis-customisations branch December 11, 2025 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant