コード例 #1
0
    def timing_system_start(self):
        """Configure timing system for scan"""
        info("Setting up timing system...")
        import lauecollect
        lauecollect.reload_settings()
        # Timing calibration for X-ray shutter is different from Lauecollect
        timing_sequencer.ms.offset = 0.0105  # 0.0095,0.010,0.0105,0.011,0.0115,[0.012]
        timing_sequencer.trans.offset = 0.005  # 0.005
        timing_sequencer.cache_size = 0
        nimages = self.scan_N
        image_numbers = range(1, self.scan_N + 1)

        timing_sequencer.queue_active = False  # hold off exection till setup complete
        timing_system.image_number.count = 0
        timing_system.pass_number.count = 0
        timing_system.pulses.count = 0

        # The detector trigger pulse at the beginning of the first image is to
        # dump zingers that may have accumuated on the CCD. This image is discarded.
        # An extra detector trigger is required after the last image,
        # to save the last image.
        waitt = [self.dt] * nimages + [self.dt]
        burst_waitt = [self.dt] * nimages + [self.dt]
        burst_delay = [0] * nimages + [0]
        npulses = [lauecollect.align.npulses] * nimages + [
            lauecollect.align.npulses
        ]
        laser_on = [0] * nimages + [0]
        ms_on = [1] * nimages + [0]
        xatt_on = [lauecollect.align.attenuate_xray] * nimages + [
            lauecollect.align.attenuate_xray
        ]
        trans_on = [1] * nimages + [0]
        xdet_on = [1] * nimages + [1]
        xosct_on = [1] * nimages + [0]
        image_numbers = image_numbers + [image_numbers[-1]]

        timing_sequencer.acquire(
            waitt=waitt,
            burst_waitt=burst_waitt,
            burst_delay=burst_delay,
            npulses=npulses,
            laser_on=laser_on,
            ms_on=ms_on,
            xatt_on=xatt_on,
            trans_on=trans_on,
            xdet_on=xdet_on,
            xosct_on=xosct_on,
            image_numbers=image_numbers,
        )
コード例 #2
0
 def get_xray_detector_enabled(self):
     import lauecollect; lauecollect.reload_settings()
     return lauecollect.options.xray_detector_enabled
コード例 #3
0
 def get_lauecollect_directory(self):
     """location to store files"""
     import lauecollect; lauecollect.reload_settings()
     directory = lauecollect.param.path
     return directory
コード例 #4
0
 def get_dt(self):
     import lauecollect
     lauecollect.reload_settings()
     return lauecollect.align.waitt