Problem
(Replace #166 , I'm starting from UC1 again for numbering)
UC1: Compute mu and diameter
User specifies sample composition and energy.
lpp.gm computes mu for a fully dense sample.
lpp.gm returns mu and recommends diameter(s) (e.g., 1mm, 1.5mm, 2mm).
UC2: Compute diameter from target muD
User has sample composition, energy, and packing fraction and a target muD in mind, and wants to check the diameter.
User provides this information to lpp.gm.
lpp.gm returns the target diameter.
UC3: Compute muD from zscan
User has a zscan file, and wants to check muD.
User uploads zscan file to lpp.gm.
lpp.gm returns muD.
UC4: Compute muD theoretically
User specifies sample composition, energy, sample mass density, and diameter.
User provides this information to lpp.gm.
lpp.gm returns muD.
We also need CLI and GUI interface for each UC. They might look like:
labpdfproc getmud compute_mu_and_diameter -s <sample_composition> -e <energy>
labpdfproc getmud compute_diameter_from_mud -s <sample_composition> -e <energy> -p <packing_fraction> -m <target_muD>
labpdfproc getmud compute_mud_from_zscan -z <zscan_file>
labpdfproc getmud compute_theoretical_mud -s <sample_composition> -e <energy> -m <mass_density> -d <diameter>
(Check feat: getmud UC1 (get_diameter) #184 for a previous implementation of CLI. Check Regolith main.py)
Proposed solution