diff --git a/DSSC.py b/DSSC.py index a571613e85fef55cdc1e64184149da3f15ad21aa..2d0b6a2bd21c384a6d0bc3873aabe30d163b68de 100644 --- a/DSSC.py +++ b/DSSC.py @@ -8,6 +8,7 @@ import warnings import psutil import karabo_data as kd +from karabo_data.read_machinery import find_proposal from karabo_data.geometry2 import DSSC_1MGeometry import ToolBox as tb import matplotlib.pyplot as plt @@ -20,21 +21,22 @@ from imageio import imread class DSSC: - def __init__(self, semester, proposal, topic='SCS', distance=1): + def __init__(self, proposal, distance=1): """ Create a DSSC object to process DSSC data. inputs: - semester: semester string - proposal: proposal number string - topic: topic, by default SCS - distance: distance sample to DSSC detector in meter + proposal: (int,str) proposal number string + distance: (float) distance sample to DSSC detector in meter """ - self.semester = semester + if isinstance(proposal,int): + proposal = 'p{:06d}'.format(proposal) + runFolder = find_proposal(proposal) + self.semester = runFolder.split('/')[-2] self.proposal = proposal - self.topic = topic + self.topic = runFolder.split('/')[-3] self.tempdir = None - self.save_folder = f'/gpfs/exfel/exp/{self.topic}/{self.semester}/{self.proposal}/usr/condensed_runs/' + self.save_folder = os.path.join(runFolder, 'usr/condensed_runs/') self.distance = distance self.px_pitch_h = 236 # horizontal pitch in microns self.px_pitch_v = 204 # vertical pitch in microns