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__()
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__()
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
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()