Skip to content

USE CASES #4

@sbillinge

Description

@sbillinge

UC1: sequential refinement of time-series data (slow data acquisition)

  1. Cheng Hung is collecting T-dependent data at the beamline. files are appearing in "collection" directory (CD) as a function of time. He wants to refined the data to a model.
  2. Cheng copies the relevant CIF file into CD
  3. Cheng has a single PDF from the sample and copies that into the directory
  4. Cheng does an initial refinement to get starting parameters.
  5. diffpy.cmi script saves the parameters into a text file
  6. Cheng starts PDFbl.sequential (seq)
  7. Cheng starts the measurement
  8. PDFbl saves PDFs into CD
  9. seq monitors CD
  10. When a new PDF appears, seq runs a new refinement and saves the results to a database file. initial values from previous refinement.
  11. When run is over, Cheng stops seq

UC2: sequential refinement of existing files

  1. As UC1.1 - 1.5
  2. Cheng starts seq in batch-mode
  3. seq collects time-stamps from each PDF in the directory
  4. seq runs refinement on each PDF in sequence reusing refined values as initial. Outputs written to database file.

UC3: rerunning

  1. As UC2 but refinements have already been run before
  2. seq mints a new uuid as _id for this refinement
  3. seq records new metadata (time, username, etc)
  4. seq refines sequence, results are appended to the database file without overwriting

UC4: cheng decides sequence

  1. As UC2.1
  2. Cheng specifies the metadata field that will be used for sequence
  3. Cheng starts seq
  4. seq mints a new uuid as _id for this refinement
  5. seq records new metadata (time, username, etc)
  6. seq refines sequence, results are appended to the database file without overwriting

==========================================
Review of refinement results

UC1:

  1. seq finishes sequence and plots Rw vs. sequence_index

UC2:

  1. Cheng specifies metadata key to plot
  2. seq finishes sequence and plots CD[key] vs. sequence_index

UC3:

  1. As UC2.1
  2. Cheng specifies sequence key to plot
  3. seq finishes sequence and plots CD[key] vs. sequence[key]

UC4:

  1. Cheng wants to view fit vs data + diff.
  2. Cheng specifies sequence_index
  3. seq plots fit, data, diff offset for the provided index

UC5.

  1. As UC4 but Cheng want to see the fits as they progress
  2. Cheng selects first fit to plot
  3. seq makes the plot
  4. Cheng hits down-arrow
  5. seq plots the next fit in the same panel but removing the previous one like a movie.

UC6

  1. Cheng wants to do something fancy with plotting
  2. Cheng specifies a refinement ID
  3. seq loads all the cgr, gr and diff curves into jupyter

UC7

  1. Cheng wants to search CD for the refinement he wants
  2. Cheng makes a database query on the metadata in a way that allows him to find the uuid of the right fit
  3. seq returns the requested UUID

UC8

  1. Cheng wants to look a the most recent one
  2. Cheng specifies sequence as -1 instead of having to know the uuid

UC9: live plotting

  1. while running refinement-UC1, seq opens two panels. One plots Rw vs sequence index and the other plots fit/data/diff for the last finished refinement
  2. Cheng writes his fancy script to do what he likes.

=====
non-plotting post-analysis

UC1

  1. Cheng notices the 5th scan didn't converge correctly and wants to rerun it
  2. Cheng has a way to quickly extract the parameters and settings to do that without writing a huge long script

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions