Skip to content

Conversation

@nvaytet
Copy link
Member

@nvaytet nvaytet commented Nov 7, 2025

This adds a workflow for normalizing images recorded by the Orca detector at TBL.

Sample images were made using a TBL file as a skeleton, and adding the Ymir lego images.
A fake proton charge log was added to the files.
This is used to normalize the images.

The latter part of the workflow should be common to other detectors and instruments (Odin).


wf = GenericNeXusWorkflow(
run_types=[SampleRun, OpenBeamRun, DarkBackgroundRun],
# Abusing the monitor_types to load proton charge and exposure time.
Copy link
Member Author

Choose a reason for hiding this comment

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

Question: I couldn't figure out how to cleanly load a custom field from the file. Help welcome!

Copy link
Member

Choose a reason for hiding this comment

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

I guess we'll need functionality, or just extend the workflow by hand?

Copy link
Member Author

Choose a reason for hiding this comment

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

Can you make a quick outline for how you would extend the workflow by hand?
I'm not sure I understood how it would work.

Copy link
Member

Choose a reason for hiding this comment

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

What I mean was to simple make new providers for additional components from scratch (possible using existing helpers).

Copy link
Member

@SimonHeybrock SimonHeybrock left a comment

Choose a reason for hiding this comment

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

Looks good!

There are some bits that seem like generic workflow components, such as the "normalize sample and background, then subtract" bit. It is pretty simply but may be worth to consider to have this as a generic workflow building block in essreduce at some point?


wf = GenericNeXusWorkflow(
run_types=[SampleRun, OpenBeamRun, DarkBackgroundRun],
# Abusing the monitor_types to load proton charge and exposure time.
Copy link
Member

Choose a reason for hiding this comment

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

I guess we'll need functionality, or just extend the workflow by hand?

@nvaytet
Copy link
Member Author

nvaytet commented Nov 11, 2025

Needs scipp/essreduce#278

@nvaytet nvaytet merged commit c518883 into main Nov 19, 2025
4 checks passed
@nvaytet nvaytet deleted the image-norm-wf branch November 19, 2025 14:21
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.

3 participants