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

Sorting out requirements from a high-level requirement note of ODIN #21

Open
62 tasks
YooSunYoung opened this issue Jun 10, 2024 · 2 comments
Open
62 tasks
Assignees

Comments

@YooSunYoung
Copy link
Member

YooSunYoung commented Jun 10, 2024

I just got a long list of what should be done for ODIN.
It has requirements for all software stacks not only data-reduction so we should cherry-pick relevant requirements for imaging.
It also has requirements related to diffraction.

List of High-level Requirements for ODIN.

File IO

WFM

  • Verify resolution (fitting Bragg edge width w. calibration sample “Felix”)
    Selection of delta_lambda/lambda for adjusting position of WFM1 and WFM2
  • Selection of Bandwidth (Adjusted WFM positions)
    Verification (“Felix”, “Beatrix”) of visibility and position of Bragg edges

Optics and spatial informations

  • Field of view/resolution in cameras (incl. various scintillator screens), i.e. Siemens star: [Requirement] SiemensStar spatial resolution measurement #17

  • Position of detectors (Downstream and perpendicular to the sample position):
    Odin has a positioning system (300 microns precision)
    Se Geometry in Calibration section below

Acquisition modalities

  • General acquisition modes: Radiography, Step by step, Continuous, Golden Ratio
    In combination with steering of SE
  • Attenuation Tomography
  • Diffraction (Transmission): Bragg edge (and transmission Grain mapping)
  • Diffraction (Perpendicular): Powder, Texture, Grain mapping
  • Gratings
    Horizontal translation of gratings (and rotation for alignment of gratings)
  • Polarized neutrons: Radiography, Tensor based tomography, Spin-Phase option
  • Stroboscopic: imaging of fast repetitive processes (Re-sorting and re-naming (stroboscopic – phase – time sorting[MOU1] ..) process not in sync with source
    We can use the tdct(?)
    We have to define the time-window.
  • Exposure: Criteria on acquisition length??

Calibration

Efficiency: (both transmission and diffraction mode detectors) Sample: Vanessa

  • Vanadium + normalization
  • Beam monitor as normalization (and proton current): also, HC step.

Geometry

  • Use positioning system
  • Sample to detector distance (transmission)
    Bragg edge fitting on Fe sample (Matlab -> python)
  • Detector distance + tilt (diffraction)
    Indexing and constrained fit to Single crystal, polycrystal and powder

Others

  • SE (without sample) -> constitutes the open beam
  • Gratings: To be specified

Events to Images

  • White beam integration (rebin spatial resolution)
  • BC: Binning to images (x,y,t)
  • WFM stitching (both in event mode and binned data)

Normalization

  • Specify BB (not ready yet), OB, DC
  • Normalization based on a ROI (like brightness adjustment on a camera)

Reconstruction (+ available software)

  • Attenuation tomography. i.e. pyMuhrec, backup Savu??
  • Bragg edge: ToFLib (GUI work from SNS, Jean B)
  • Grains in transmission mode: Trindex
  • Gratings: TaPy
  • Polarized neutrons: Should be implemented
  • Diffraction: 6DNXRD, BEER software
  • Rietveld refinement, Transmission: RITS, BeTmen (Sven) - data analysis part
  • Rietveld refinement, Diffraction: FullProf - data analysis part

Simulation

  • McStas data for comparison (SE and their components as unions)

Data Reduction

  • WFM stitching (as 1D and 2D) as option before AND/OR after the normalization/analysis routines.
  • Comparison of the two cases:
    - Binning full spectrum into images + Normalization + Stitching.
    - Stitching events + Normalization
  • Simple conversion between TOF and lambda
  • Conversion between attenuation coefficients and transmission
    :math:func(attenuation_coefficiency, sample_thickness) = transmission
    func is based on Beer Lambert Law
  • Black-body correction (developed by PSI, correction according to transmission)
  • Fitting routines i.e. siemens stars spatial resolution

Image Tools

Basically making image J and Fiji
We should check if Fiji provides APIs. (Still not fast enough)

  • Simple mathematical operations: scaling, adding,…
  • filtering, averaging (in all dimensions)
  • histograms of ROIs
  • data extraction from ROIs, line plots, z-plots
  • binning (2D and 3D)
  • ROI flexibility: specifically very flexible ROI tools (more than one, generic shapes)
  • ROI’s in tof/wavelength
  • complex ROI shape (free hand in 3D).
  • visualization tools (contrast, brightness…) available at selected processing step
  • Re-sorting and re-naming (stroboscopic – phase – time sorting[MOU2] ..) process not in sync with source
  • Additional: running averages and interpolation tools in x-y-lambda-t
    We have to discuss we should state it clearly.
  • Spatial image stitching (also workable for tomography) – check VGStudio max or similar, Amira/Avizo
  • extraction (+plotting) of TOF dependency (e.g. Bragg edge patterns) from Voxels
  • Display/Visualization (images) of refinement parameters (including uncertainties) for quality check.
  • Convenient access to fitted spectra of each pixel.
  • Rodrigues vectors and quaternions
  • Visualization tools(contrast, brightness, etc) - we can use external tools maybe?
  • Target tracking tool
@YooSunYoung YooSunYoung self-assigned this Jun 10, 2024
@YooSunYoung YooSunYoung moved this from Triage to In progress in Development Board Jun 10, 2024
@YooSunYoung YooSunYoung changed the title Sorting out requirements from a high-level requirement note. Sorting out requirements from a high-level requirement note of ODIN Jun 10, 2024
@YooSunYoung
Copy link
Member Author

We're gonna separate these based on user stories.

@YooSunYoung
Copy link
Member Author

I'll remove it from the board since it's all collected here.

@YooSunYoung YooSunYoung moved this from In progress to Done in Development Board Jul 17, 2024
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

No branches or pull requests

1 participant