Skip to content

Create Overview Scan panel from WideFieldAcquisition.py - #66

Draft
lizziewylie wants to merge 34 commits into
nion-software:masterfrom
lizziewylie:overview_scan_panel
Draft

lizziewylie wants to merge 34 commits into
nion-software:masterfrom
lizziewylie:overview_scan_panel

Conversation

@lizziewylie

@lizziewylie lizziewylie commented Sep 1, 2026 •

Copy link
Copy Markdown

Fixes nion-software/nion-internal#381

@CLAassistant

CLAassistant commented Sep 1, 2026 •

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@cmeyer cmeyer 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.

Minor drive-by comments. I'm aware this is draft, btw.

Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
@lizziewylie lizziewylie self-assigned this Sep 4, 2026

@cmeyer cmeyer 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.

I'm only adding review for coding style, not for functionality or general algorithm logic.

Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread mypy.ini Outdated

@Brow71189 Brow71189 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I haven't tried it, just a comment from reading through the code inline below. Apart from that it looks fine.

Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated

@MattRoyle MattRoyle left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Mostly pedantic. Main bits are suggesting that the exporting is done via existing export functionality rather than introducing a new library dependency PIL. The UI line edit handling is done on a per function basis, converting to integers, exiting early if the value is too large. I think using Converters in tandem with property getters and setters would make the code more readable.

Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated

@MattRoyle MattRoyle left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Some issues with the defocus logic and how wide this panel appears.

Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated

@Brow71189 Brow71189 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Some things I notices while reading through the code. Nothing major, but would be nice to fix I think.

Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
Comment thread nionswift_plugin/nion_experimental_tools/overview_scan_panel.py Outdated
@cmeyer

cmeyer commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

I'm not following closely along here, but why wouldn't the output of this be a data item?

@cmeyer

cmeyer commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Independent of requirements and design prerequisites, I don't think this project belongs in experimental. It is an acquisition project and would introduce a package dependency that I don't want to have. It's fine for development here, as long as it is a PR, but ultimately will have to live somewhere else - perhaps nionswift-instrumentation-kit.

A low level acquisition procedure (basically the same as your acquisition method) already exists in the instrumentation kit: AcquisitionLibrary.create_table_of_scans_acquisition_procedure. If it isn't sufficient for this use case, please file an issue with what you need.

This project will also need comprehensive tests.

This project also needs to be split into model and view (UI) packages.

This branch has not been deployed

No deployments
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