Ejemplo n.º 1
0
 def __init__(
     self,
     scan_range,
     scan_exposure_time,
     scan_start_angle,
     angle_per_frame,
     name_pattern,
     directory,
     image_nr_start,
     position=None,
     photon_energy=None,
     flux=None,
     transmission=None,
 ):
     self.goniometer = goniometer()
     self.detector = detector()
     self.beam_center = beam_center()
     self.energy_motor = energy_motor()
     self.resolution_motor = resolution_motor()
     self.protective_cover = protective_cover()
     self.transmission_motor = transmission_motor()
     self.scan_range = scan_range
     self.scan_exposure_time = scan_exposure_time
     self.scan_start_angle = scan_start_angle
     self.angle_per_frame = angle_per_frame
     self.image_nr_start = image_nr_start
     self.position = position
     self.photon_energy = photon_energy
     self.flux = flux
     self.transmission = transmission
     self.name_pattern = name_pattern
     self.directory = directory
     self._ntrigger = 1
     super(self, experiment).__init__()
Ejemplo n.º 2
0
 def __init__(self,
              vertical_range,
              horizontal_range,
              number_of_rows,
              number_of_columns,
              scan_exposure_time,
              scan_start_angle=None,
              scan_range=0.01,
              image_nr_start=1,
              scan_axis='horizontal', # 'horizontal' or 'vertical'
              direction_inversion=True,
              method='md2', # possible methods: "md2", "helical"
              zoom=None, # by default use the current zoom
              name_pattern='grid_$id',
              directory='/nfs/ruchebis/spool/2016_Run3/orphaned_collects'): 
     
     self.goniometer = goniometer()
     self.detector = detector()
     self.camera = camera()
     self.guillotine = protective_cover()
     self.beam_center = beam_center()
     
     self.scan_axis = scan_axis
     self.method = method
     self.vertical_range = vertical_range
     self.horizontal_range = horizontal_range
     self.shape = numpy.array((number_of_rows, number_of_columns))
     self.number_of_rows = number_of_rows
     self.number_of_columns = number_of_columns
     
     self.frame_time = scan_exposure_time
     self.count_time = self.frame_time - self.detector.get_detector_readout_time()
     
     self.scan_start_angle = scan_start_angle
     self.scan_range = scan_range
     
     if self.scan_axis == 'horizontal':
         self.line_scan_time = self.frame_time * self.number_of_columns
         self.angle_per_frame = self.scan_range / self.number_of_columns
     else:
         self.line_scan_time = self.frame_time * self.number_of_rows
         self.angle_per_frame = self.scan_range / self.number_of_rows
     
     self.image_nr_start = image_nr_start
     
     self.direction_inversion = direction_inversion
     
     self.name_pattern = name_pattern
     self.directory = directory
     
     self.method = method
     self.zoom = zoom
     super(self, experiment).__init__()
Ejemplo n.º 3
0
 def __init__(self,
              scan_range,
              scan_exposure_time,
              scan_start_angle,
              angle_per_frame,
              name_pattern,
              directory='/nfs/ruchebis/spool/2016_Run3/orphaned_collects',
              image_nr_start=1,
              helical=False):
     
     self.goniometer = goniometer()
     self.detector = detector()
     self.beam_center = beam_center()
     self.protective_cover = protective_cover()
     
     self.detector.set_trigger_mode('exts')
     self.detector.set_nimages_per_file(100)
     self.detector.set_ntrigger(1)
     scan_range = float(scan_range)
     scan_exposure_time = float(scan_exposure_time)
     
     nimages, rest = divmod(scan_range, angle_per_frame)
     
     if rest > 0:
         nimages += 1
         scan_range += rest*angle_per_frame
         scan_exposure_time += rest*angle_per_frame/scan_range
         
     frame_time = scan_exposure_time/nimages
     
     self.scan_range = scan_range
     self.scan_exposure_time = scan_exposure_time
     self.scan_start_angle = scan_start_angle
     self.angle_per_frame = angle_per_frame
     
     self.nimages = int(nimages)
     self.frame_time = float(frame_time)
     self.count_time = self.frame_time - self.detector.get_detector_readout_time()
     
     self.name_pattern = name_pattern
     self.directory = directory
     self.image_nr_start = image_nr_start
     self.helical = helical
     self.status = None
Ejemplo n.º 4
0
 def __init__(self, host='172.19.10.26', port=80):
     eiger.__init__(self, host=host, port=port)
     self.position = detector_position()
     self.beamstop = detector_beamstop()
     self.cover = protective_cover()