Skip to content

Refactoring for fun, don't merge!#1105

Draft
keejkrej wants to merge 21 commits into
SchmollerLab:mainfrom
keejkrej:feat/modular
Draft

Refactoring for fun, don't merge!#1105
keejkrej wants to merge 21 commits into
SchmollerLab:mainfrom
keejkrej:feat/modular

Conversation

@keejkrej

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI review requested due to automatic review settings May 23, 2026 09:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of lines (20,000). Try reducing the number of changed lines and requesting a review from Copilot again.

@ElpadoCan ElpadoCan marked this pull request as draft May 23, 2026 17:25
@keejkrej keejkrej force-pushed the feat/modular branch 2 times, most recently from 9eca9c8 to 7022df9 Compare May 24, 2026 07:13
keejkrej and others added 20 commits May 24, 2026 09:22
Move all guiWin methods verbatim into cellacdc/mixins with class names
without the Mixin suffix, keep only __init__ and run in gui.py, and
add gui_decorators for shared decorators. Remove mixins_bak trial code.

Co-authored-by: Cursor <cursoragent@cursor.com>
Relocate WhitelistGUIElements and combine channel classes from
whitelist.py and gui_combine.py into mixins/ as WhitelistGui,
CombineGui, and CombineWorker. Restore gui module path constants
needed by _main.py.

Co-authored-by: Cursor <cursoragent@cursor.com>
Express mixin dependencies as a layered parent map so each class inherits
its upstream mixins, trim guiWin to 21 root bases, and add tooling to
maintain the graph without invalid MRO or import cycles.

Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce basic, visualization, and segmentation entry points with curated mixin bundles, optional action wiring for slim windows, and mixin import fixes so each variant starts cleanly.

Co-authored-by: Cursor <cursoragent@cursor.com>
Split widgets.py into focused component modules while keeping widgets.py and _base_widgets.py as compatibility re-exports.

Co-authored-by: Cursor <cursoragent@cursor.com>
…uns.

Model CLI/GUI pipelines as composable state graphs and wire kernels, workers, and batch orchestration through them to decouple pipeline flow from imperative kernel logic.

Co-authored-by: Cursor <cursoragent@cursor.com>
Move myutils, workers, widgets, and apps into focused subpackages so each module has a single responsibility while preserving existing import paths for callers.

Co-authored-by: Cursor <cursoragent@cursor.com>
Clarify module boundaries: utils holds shared helpers, tools holds Utilities-menu batch workflows.

Co-authored-by: Cursor <cursoragent@cursor.com>
Break up the remaining widget god modules by rendering role while keeping widgets.* imports working through the package barrel.

Co-authored-by: Cursor <cursoragent@cursor.com>
Expose Viewer, run, and get_qapp so scripts can open Segmentation and
Tracking mode directly without the mainWin launcher.

Co-authored-by: Cursor <cursoragent@cursor.com>
Decouple data construction from the GUI so notebooks can pass in-memory arrays or filesystem paths through Viewer and imshow without viewer.open().

Co-authored-by: Cursor <cursoragent@cursor.com>
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.

2 participants