470 likes | 558 Vues
User Friendly Software for Single Crystal TOF Neutron Scattering Data Visualization and Reduction. Dennis Mikkelson 1 , A.Schultz 2 , P.Peterson 2 , R.Mikkelson 1 , T.Worlton 2 , J.Hammonds 2 , J. Cowan 2 , Martha Miller 2 , C. Bouzek 1 , Michael Miller 1
E N D
User Friendly Software for Single Crystal TOF Neutron Scattering Data Visualization and Reduction Dennis Mikkelson1, A.Schultz2, P.Peterson2, R.Mikkelson1, T.Worlton2, J.Hammonds2, J. Cowan2, Martha Miller2, C. Bouzek1, Michael Miller1 1University of Wisconsin-Stout 2IPNS Division of Argonne National Laboratory
Outline • Instruments & Data • Visualization • Data reduction process • Calibration • Software structure • Future work
Momentum Change Q = k’ - k -k Q k’ k
The SCD at IPNS before upgrade to two detectors. (www.pns.anl.gov/instruments/scd/)
SCD data: • 2 Detectors, 100x100 pixels x 300 time channels • Wavelength range: 0.3 to 10Ǻ • File size: 25 Mb • Files per experiment: > 10 • Total data per experiment: >250Mb • File type: IPNS runfile (NeXus)
SXD data: • 11-detectors 64x64 pixels x 1500 time channels • Wavelength range: .2 to 10 Ǻ • File size: 75 Mb • Files per experiment: 5 ? • Total data per experiment: > 225Mb • File type: ISIS rawfile (NeXus)
Data visualization: • Interactive views • tables • per-detector image • list of spectra as image • 3D view of instrument (from data file, NeXus) • hkl slices • reciprocal space
hkl slice viewer Interactive slices through reciprocal space • flexible plane selection • readout of wavelength, energy, hkl, Q • image controls, annotation, grids, etc. • “quick” calculation of chosen slice • step through sequence of slices
3D reciprocal space viewer • Move around in 3D lattice • Select planes by selecting points or FFT • Filter to keep data on selected planes • “Rossmann like” indexing • Calculate lattice constants and orientation matrix • Mark points where peaks are expected • Draw region covered by data • Orthogonal/perspective projection
Reduction Steps: • Find peaks • Initial indexing • Scalar • Least squares fit of orientation matrix • Find orientation matrix for each run • Integrate peaks
Wizards • User friendly • Help on each form • Step forward & backward • Save state to replay • Easily generated from operators and scripts
Calibration • Measure peaks from known sample (eg. quartz) at multiple crystal orientations to measure large region of reciprocal space. • Produce a collection of indexed peak positions. • Adjust "engineering" values for L0, t0, detector size, position, orientation and sample offset, to minimize sum-squared difference between measured and theoretical peak positions in Q.
Measured Peaks Map to Q In Lab Coords Map to Crystal Aligned Coords Qxyz Observed Instrument Parameters Goniometer Angles Marquardt Optimization Algorithm Sum Squared Differences h,k,l of Measured Peaks Map to Q Using UB Qxyz Theoretical B, The known Material Matrix U, The observed Rotation Matrix Least Squares Fit to find UB
Java • "Clean" object model • Good collection of GUI components • Portable to Linux, Mac Ox-X, Solaris, Windows • Good performance • Java: 500 Mflops • GNU C: 450 Mflops (overall scores on SciMark2 from NIST running on Linux 2.8 GHz P4, 800 Mhz FSB, using java -server)
Java-continued • Support for 3D graphics hardware via • Java3D • OpenGL (jogl...) • Support for networking and WWW. • Applets, Servlets, ports, CORBA,... • Java doc... produces HTML documentation from comments in code. • NOT single source (SUN, IBM, ...) • Free development tools
ISAW ( Integrated Spectral Analysis Workbench ) • Raw data access, visualization, reduction • Developed in collaboration with IPNS • Instruments • Single Crystal Diffractometers • Small Angle Diffractometers • Direct Geometry Spectrometers • Powder Diffractometers • Glass Liquid and Amorphous Material Diffractometer
ISAW-continued • Remote data access ("LiveDataServer") • Reads • IPNS runfiles • ISIS runfiles (sort of) • NeXus files (as defined) • GNU GPL
ISAW structure • Very modular tool kit (NOT just the GUI) • Structured around basic concepts • DataSet, Data block • Viewer • Operator • Retriever • Writer • Documented via javadocs, user manual, developer manual, tutorial, dynamically generated help files for operators.
Operators • "Self-describing" units • parameter lists & types • documentation • used to generate pop-up dialogs & wizard forms • Written in java, ISAW scripting language, jython, FORTRAN? • Easily added to ISAW • write, compile and put in directory • will appear in ISAW menus • will be callable from scripts
Future work: • "Finish" SCD visualization • “Finish” support for ISIS SXD • Read/Write NeXus files • benefits of portability! • Extend Collaborations • SNS • DANSE • Los Alamos • ANSTO • Powder Diffractometers • Glass Liquid and Amorphous Material Diffractometers
Acknowledgements • IPNS • Art Schultz • Peter Peterson (now ORNL) • Tom Worlton • John Hammonds • John Cowan • Martha Miller • UW-Stout • Ruth Mikkelson • Chris Bouzek • Mike Miller • University of Zaragoza • Larry Falvello • National Science Foundation (DMR-0218882)