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

DOC howto setup APS data management in a plan #304

Open
prjemian opened this issue Jun 3, 2024 · 5 comments
Open

DOC howto setup APS data management in a plan #304

prjemian opened this issue Jun 3, 2024 · 5 comments
Labels
documentation Improvements or additions to documentation

Comments

@prjemian
Copy link
Contributor

prjemian commented Jun 3, 2024

Need to describe how to setup APS Data Management in a custom bluesky plan.

@prjemian prjemian added the documentation Improvements or additions to documentation label Jun 3, 2024
@prjemian
Copy link
Contributor Author

prjemian commented Jun 3, 2024

Pull examples from today's discussion with APS POLAR beamline.

@prjemian
Copy link
Contributor Author

prjemian commented Jun 3, 2024

  • DM
  • Which style?
    • acquire, then run DM workflow and wait (or not): XPCS example
    • DM workflow interacts with data acquisition (TODO: find that example)
  • The setup_user plan
    • connects Python with DM experiment
    • identify DM data directory (such as @voyager)
    • starts (or connects with existing) DM DAQ
    • Examples
      • XPCS
      • others (TODO)
  • The data acquisition plan(s):
    • plan API
      • no positional arguments
      • only keywords with valid defaults
      • keywords for measurement, area detectors, metadata, DM, ...
    • validate as needed
    • various setup as needed
      • area detector
      • acquisition
      • DM
      • auxiliary files (such as area detector mask)
      • NeXus master file writer
    • update bluesky metadata dict
      • additional plan metadata
      • DM metadata
      • user-provided metadata
    • create DM workflow object (ophyd device to get its data into the run)
      • configure reporting
    • define the inner acquire() plan
      • bluesky data acquisition here (includes callbacks, stage, open_run)
    • uids = yield from acquire()
    • start the DM workflow: yield from dm_workflow.run_as_plan(
    • wait for workflow to finish (optional)
    • share_bluesky_metadata_with_dm(experiment_name, workflow_name, run)

@prjemian
Copy link
Contributor Author

prjemian commented Jun 3, 2024

Often forgotten is how to setup the environment variables.

@prjemian
Copy link
Contributor Author

prjemian commented Jun 3, 2024

Can this be described more simply? Generalize?

@prjemian
Copy link
Contributor Author

prjemian commented Jun 3, 2024

Lots of the DM code custom to the XPCS demo has been hoisted to apstools, some with differences in implementation.

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

No branches or pull requests

1 participant