-
Alireza Sadri authoredAlireza Sadri authored
README 2.49 KiB
AGIPD analysis pipeline based on robust statistics method This pipeline is designed for research and developement of Machine Learning methods when dealing with AGIPD-1M detector installed in SPB or MID in EuXFEL. The main point of this package is the use of robust statistics in dealing with X-ray diffraction patterns. Author: Alireza Sadri <Alireza.Sadri@desy.de> CFEL/DESY Sep2019-Sep2021 Note: This software is based on many other programs written for AGIPD such as AGIPDtoolbox, Cheetah and other... No part of this package is a copy paste but is heavily influenced. This packages deals with, for AGIPD,: -- Calibration by dark to get the offsets -- bad pixel mask by dark -- maximum of high gain, maximum background for AGIPD by a run with light -- High intensity flat field to get the relative gains and bad pixel mask -- Proc maker -- Robust peak finder -- VCXI maker -- Hit finder -- Making flists, Calling indexamagik in CrystFEL and partialator -- a few scripts are also availble -- CXIsee: sees inside CXI files -- rawSee: get the raw data and runs RPF, indexing and shows results -- Afterpartialator to get statistics -- ... Installation: > git clone this repo in your scratch folder > cd agipdrobustanalysis > cd lib/RobustGaussianFittingLibrary > make all > cd .. > cd RobustPeakFinder > make all that is it!. How to Use it: Fo to pipelines or make a copy of this directory and name it after your project such as pipeline_mytest In it you can find three python scripts 1-miniPipeline_calibConstantsMaker.py This script makes the calibration constants. In it you can set your experiment and then run this script 2-miniPipeline_darkBasedMaskMaker.py This script makes the calibration constants and bad pixel mask based on the dark field. In it you can set your experiment and then run this script 3-full_pipeline: it has the settings for all scripts and then calls them if their FLAG is set. These files, have four parts, first two are for user to set 1- They ask for settings 2- They ask for folders then come the parts that do the job 3-asks questoins 4-runs each script by submitting maxwell slurm jobs. Notice that each script runs with some input parameters in a for loop that counts over number of runs or modules ... You can change this code to for example do all the tasks for each run first then move on to another run. This is useful when dealing with little scratch space. Good luck!