Skip to content

4 29 61#68

Open
OmidChaghaneh wants to merge 98 commits into
mainfrom
4-29-61
Open

4 29 61#68
OmidChaghaneh wants to merge 98 commits into
mainfrom
4-29-61

Conversation

@OmidChaghaneh
Copy link
Copy Markdown
Contributor

No description provided.

akannan05 and others added 30 commits December 18, 2025 14:18
- Add 'Load DICOM File' button in ROI selection menu
- Implement file dialog for DICOM selection
- Add transparency slider with 0-100% control
- 0% shows pure B-mode, 100% shows pure DICOM
- Fix brightness adjustment to preserve overlay
- Remove debug print statements
…sidebar-label-to-QUS-analysis

17 change rf analysis sidebar label to qus analysis
OmidChaghaneh and others added 26 commits March 18, 2026 11:56
…update_enhancement_cache method to DrawVOIWidget
…ckend from frontend for enhancement, put back .gitignore, updated ceus engines submodule commit ref
Copilot AI review requested due to automatic review settings May 5, 2026 10:12
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a CEUS end-to-end post-load workflow: manual segmentation can now flow toward a preview/confirmation step and then into the new analysis-loading screens. It also expands the manual drawing UIs with image-enhancement controls and updates the application/model wiring to support analysis execution.

Changes:

  • Adds a new segmentation preview widget and wires segmentation loading/manual save events into a preview/analysis flow.
  • Introduces CEUS analysis parameter, function-selection, and execution screens plus application/model support for running analyses.
  • Updates manual ROI/VOI drawing, spline handling, and file-selection validation to support the new workflow.

Reviewed changes

Copilot reviewed 18 out of 19 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
src/ceus/seg_loading/views/spline.py Makes spline interpolation more tolerant of duplicate points and 4D point inputs.
src/ceus/seg_loading/views/seg_preview_widget.py New read-only segmentation preview/confirmation/export UI.
src/ceus/seg_loading/views/draw_voi_widget.py Emits save events so VOI exports can feed the new flow.
src/ceus/seg_loading/views/draw_roi_widget.py Adds enhancement controls/signals to ROI drawing.
src/ceus/seg_loading/seg_loading_view_coordinator.py Coordinates ROI/VOI drawing, preview, and preprocessing preview updates.
src/ceus/seg_loading/seg_loading_controller.py Connects segmentation-loaded/manual-confirmed events into the model/view flow.
src/ceus/seg_loading/__init__.py Re-exports additional segmentation UI components.
src/ceus/image_loading/views/file_selection_widget.py Fixes folder-vs-file validation logic for image inputs.
src/ceus/application_model.py Adds CEUS analysis state, workers, preprocessing helpers, and manual segmentation handling.
src/ceus/application_controller.py Extends top-level navigation from segmentation into analysis loading.
src/ceus/analysis_loading/views/analysis_params_widget.py New analysis parameter entry screen.
src/ceus/analysis_loading/views/analysis_function_selection_widget.py Adapts function selection UI to CEUS data types/imports.
src/ceus/analysis_loading/views/analysis_execution_widget.py Adapts analysis execution/results UI to CEUS analysis objects.
src/ceus/analysis_loading/ui/analysis_params.ui Adds the Qt Designer layout for analysis parameter entry.
src/ceus/analysis_loading/analysis_loading_view_coordinator.py Coordinates CEUS analysis function/params/execution screens.
src/ceus/analysis_loading/analysis_loading_controller.py Selects analysis types/functions and launches CEUS analyses.
.gitignore Minor ordering tweak for generated UI files.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/ceus/application_controller.py Outdated
Comment on lines +72 to +73
"""Handle segmentation loading completion."""
self._on_segmentation_action('segmentation_confirmed', seg_data)
@@ -109,6 +111,7 @@ def reset_to_seg_type_selection(self) -> None:
widgets_to_remove = [
self._seg_file_widget,
Comment on lines +1048 to +1049
if hasattr(self, '_last_saved_path'):
self.segmentation_saved.emit(str(self._last_saved_path))
Comment on lines +139 to +146

def _on_run_analysis_clicked(self) -> None:
"""Handle run analysis button click."""
print(f"DEBUG: AnalysisParamsWidget._on_run_analysis_clicked called")
# Collect parameters (simplified)
params = {}
# TODO: Collect actual values from dynamically created widgets

Comment on lines 205 to +210
else:
print(f"DEBUG: Using existing AnalysisExecutionWidget")
# Update data in existing widget
self._execution_widget._image_data = self._image_data
self._execution_widget._seg_data = self._seg_data
self._execution_widget._config_data = self._config_data
Comment on lines +682 to +687
if not folder_path or not Path(folder_path).is_dir():
self.show_error("Please select a valid folder.")
return
if not file_name:
self.show_error("Please enter a file name.")
return
Comment on lines 236 to +241

# Add a message that the rest of the pipeline needs to be finished
info_label = QLabel("Note: The rest of the pipeline still needs to be finished.")
info_label.setStyleSheet("color: #FFD700; font-style: italic; font-size: 10px; margin-top: 5px;")
info_label.setAlignment(Qt.AlignmentFlag.AlignCenter)
self._ui.analysis_execution_layout.addWidget(info_label)
Comment on lines +77 to +79
if preferred in analysis_types:
selected_type = preferred
break
Comment on lines +186 to +187
# Future: Navigate to visualization screen
self._app.quit()
Comment on lines 77 to +80

# Enhancement parameters
self._clahe_clip_limit = 1.2
self._gamma = 1.5
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.

5 participants