Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stage. Mapping arbitrary units to phisical units #288

Open
juliomateoslangerak opened this issue Oct 26, 2023 · 4 comments
Open

Stage. Mapping arbitrary units to phisical units #288

juliomateoslangerak opened this issue Oct 26, 2023 · 4 comments

Comments

@juliomateoslangerak
Copy link
Contributor

I have a question that rose while testing the ASI stage but I find applies to others.

The move_by method takes an value and it Move axis by given amount. It is not specified the amount in physical units. In the case of the ASI this is translated into 1/10 microns, and that value must be different for any stage.

I cannot find anywhere a mapping of these arbitrary units and the physical units. Where is this to be defined?

@iandobbie
Copy link
Collaborator

Microscope stages are just defined in terms of "units" whatever the stage wants to use. Any mapping to real units is defined in cockpit, see https://microscope-cockpit.org/depot-config#stages

@juliomateoslangerak
Copy link
Contributor Author

juliomateoslangerak commented Oct 26, 2023

I see. Thanks

Does it make sense to implement some function to get this information from the stage? Best effort

@iandobbie
Copy link
Collaborator

I guess, although we would then have to implement some well defined mechanism to signal that there is no physical unit and the user needs to provide one.

@iandobbie
Copy link
Collaborator

Thinking about this I would say that more and more info will be encoded on the stage so we probably should read units from the stage if possible.

Maybe have cockpit do,

try:
get stage units from microscope
except:
try:
get stage units from depot config
except:
fail, no stage units.

The one drawback of this is how do you overwrite the stage units if they are mad. Maybe the opposite is better and try read from config, then the stage if both fail then error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants