def setup(self): self.log_format = "%(levelname)s: %(message)s [%(name)s.%(funcName)s]" self.reader = EventSource.from_config(parent=self) self.seeker = EventSeeker(self.reader, parent=self) self.extractor = ImageExtractor.from_name(self.extractor_product, parent=self) self.dl0 = CameraDL0Reducer(parent=self) self.dl1 = CameraDL1Calibrator(extractor=self.extractor, parent=self) self.viewer = BokehEventViewer(parent=self) # Setup widgets self.viewer.create() self.viewer.enable_automatic_index_increment() self.create_previous_event_widget() self.create_next_event_widget() self.create_event_index_widget() self.create_goto_event_index_widget() self.create_event_id_widget() self.create_goto_event_id_widget() self.create_telid_widget() self.create_channel_widget() self.create_dl1_widgets() self.update_dl1_widget_values() # Setup layout self.layout = layout([[self.viewer.layout], [ self.w_previous_event, self.w_next_event, self.w_goto_event_index, self.w_goto_event_id ], [self.w_event_index, self.w_event_id], [self.w_telid, self.w_channel], [self.wb_extractor]])
def setup(self): kwargs = dict(parent=self) self.eventsource = EventSource.from_config(**kwargs) self.flatfield = FlatFieldCalculator.from_name( self.flatfield_product, **kwargs ) self.pedestal = PedestalCalculator.from_name( self.pedestal_product, **kwargs ) if self.r0calibrator_product: self.r0calibrator = CameraR0Calibrator.from_name( self.r0calibrator_product, **kwargs ) msg = "tel_id not the same for all calibration components" assert self.r0calibrator.tel_id == self.pedestal.tel_id == self.flatfield.tel_id, msg self.tel_id = self.flatfield.tel_id group_name = 'tel_' + str(self.tel_id) self.writer = HDF5TableWriter( filename=self.output_file, group_name=group_name, overwrite=True )
def setup(self): kwargs = dict(parent=self) self.eventsource = EventSource.from_config(**kwargs) # remember how many event in the files self.tot_events = len(self.eventsource.multi_file) self.log.debug(f"Input file has file {self.tot_events} events") self.flatfield = FlatFieldCalculator.from_name(self.flatfield_product, **kwargs) self.pedestal = PedestalCalculator.from_name(self.pedestal_product, **kwargs) if self.r0calibrator_product: self.r0calibrator = CameraR0Calibrator.from_name( self.r0calibrator_product, **kwargs) msg = "tel_id not the same for all calibration components" assert self.r0calibrator.tel_id == self.pedestal.tel_id == self.flatfield.tel_id, msg self.tel_id = self.flatfield.tel_id group_name = 'tel_' + str(self.tel_id) self.log.debug(f"Open output file {self.output_file}") self.writer = HDF5TableWriter(filename=self.output_file, group_name=group_name, overwrite=True)
def setup(self): self.log.info('Configure EventSource...') self.event_source = self.add_component( EventSource.from_config(config=self.config, parent=self)) self.calibrator = self.add_component(CameraCalibrator(parent=self)) self.writer = self.add_component( HDF5TableWriter(filename=self.outfile, group_name='image_infos', overwrite=True)) # Define Pre-selection for images preselcuts = self.config['Preselect'] self.image_cutflow = CutFlow('Image preselection') self.image_cutflow.set_cuts( dict(no_sel=None, n_pixel=lambda s: np.count_nonzero(s) < preselcuts['n_pixel'][ 'min'], image_amplitude=lambda q: q < preselcuts['image_amplitude'][ 'min'])) # Define Pre-selection for events self.event_cutflow = CutFlow('Event preselection') self.event_cutflow.set_cuts(dict(no_sel=None))
def setup(self): self.log.debug(f"Open file") self.eventsource = EventSource.from_config(parent=self) tel_id = self.eventsource.lst_service.telescope_id if self.eventsource.r0_r1_calibrator.drs4_pedestal_path.tel[ tel_id] is None: raise IOError("Missing (mandatory) drs4 pedestal file in trailets") # if data remember how many event in the files if "LSTEventSource" in str(type(self.eventsource)): self.tot_events = len(self.eventsource.multi_file) self.log.debug(f"Input file has file {self.tot_events} events") else: self.tot_events = self.eventsource.max_events self.simulation = True self.processor = CalibrationCalculator.from_name( self.calibration_product, parent=self, subarray=self.eventsource.subarray) group_name = 'tel_' + str(tel_id) self.log.debug(f"Open output file {self.output_file}") self.writer = HDF5TableWriter(filename=self.output_file, group_name=group_name, overwrite=True)
def setup(self): self.log_format = "%(levelname)s: %(message)s [%(name)s.%(funcName)s]" event_source = EventSource.from_config(parent=self) self.subarray = event_source.subarray self.eventseeker = EventSeeker(event_source, parent=self) self.calibrate = CameraCalibrator(parent=self, subarray=self.subarray)
def setup(self): self.log.debug(f"Open file") self.eventsource = EventSource.from_config(parent=self) # if data remember how many event in the files if "LSTEventSource" in str(type(self.eventsource)): self.tot_events = len(self.eventsource.multi_file) self.log.debug(f"Input file has file {self.tot_events} events") else: self.tot_events = self.eventsource.max_events self.simulation = True self.processor = CalibrationCalculator.from_name( self.calibration_product, parent=self, subarray=self.eventsource.subarray) if self.r0calibrator_product: self.r0calibrator = CameraR0Calibrator.from_name( self.r0calibrator_product, parent=self) group_name = 'tel_' + str(self.processor.tel_id) self.log.debug(f"Open output file {self.output_file}") self.writer = HDF5TableWriter(filename=self.output_file, group_name=group_name, overwrite=True)
def setup(self): self.log.info('Configure EventSource...') self.event_source = EventSource.from_config( config=self.config, parent=self ) self.event_source.allowed_tels = self.config['Analysis']['allowed_tels'] self.calibrator = CameraCalibrator( config=self.config, parent=self, eventsource=self.event_source ) self.writer = HDF5TableWriter( filename=self.outfile, group_name='image_infos', overwrite=True ) # Define Pre-selection for images preselcuts = self.config['Preselect'] self.image_cutflow = CutFlow('Image preselection') self.image_cutflow.set_cuts(dict( no_sel=None, n_pixel=lambda s: np.count_nonzero(s) < preselcuts['n_pixel']['min'], image_amplitude=lambda q: q < preselcuts['image_amplitude']['min'] )) # Define Pre-selection for events self.event_cutflow = CutFlow('Event preselection') self.event_cutflow.set_cuts(dict( no_sel=None ))
def setup(self): if self.output is None: raise ToolConfigurationError( "You need to provide an --output file") if self.output.exists() and not self.overwrite: raise ToolConfigurationError( "Outputfile {self.output} already exists, use `--overwrite` to overwrite" ) self.source = EventSource.from_config(parent=self) subarray = self.source.subarray self.calib = CameraCalibrator(subarray=subarray, parent=self) self.ring_fitter = MuonRingFitter(parent=self) self.intensity_fitter = MuonIntensityFitter(subarray=subarray, parent=self) self.cleaning = TailcutsImageCleaner(parent=self, subarray=subarray) self.writer = HDF5TableWriter(self.output, "", add_prefix=True, parent=self, mode="w") self.pixels_in_tel_frame = {} self.field_of_view = {} self.pixel_widths = {} for p in [ "min_pixels", "pedestal", "ratio_width", "completeness_threshold" ]: getattr(self, p).attach_subarray(self.source.subarray)
def setup(self): self.eventsource = self.add_component( EventSource.from_config(parent=self)) self.calibrator = self.add_component( CameraCalibrator(parent=self, subarray=self.eventsource.subarray)) self.plotter = self.add_component( ImagePlotter(subarray=self.eventsource.subarray, parent=self))
def setup(self): self.source: EventSource = self.add_component( EventSource.from_config(parent=self) ) if self.source.input_url == '': raise ToolConfigurationError("please specify --input <events file>") self.calib = self.add_component(CameraCalibrator(parent=self)) self.writer = self.add_component(HDF5TableWriter(self.outfile, "muons"))
def setup(self): kwargs = dict(parent=self) self.eventsource = EventSource.from_config(**kwargs) self.pedestal = PedestalCalculator.from_name(self.calculator_product, **kwargs) self.group_name = 'tel_' + str(self.pedestal.tel_id) self.writer = HDF5TableWriter(filename=self.output_file, group_name=self.group_name, overwrite=True)
def setup(self): self.log_format = "%(levelname)s: %(message)s [%(name)s.%(funcName)s]" event_source = self.add_component(EventSource.from_config(parent=self)) self.eventseeker = self.add_component( EventSeeker(event_source, parent=self)) self.extractor = self.add_component( ImageExtractor.from_name(self.extractor_product, parent=self)) self.calibrate = self.add_component( CameraCalibrator(parent=self, image_extractor=self.extractor))
def setup(self): self.log_format = "%(levelname)s: %(message)s [%(name)s.%(funcName)s]" event_source = EventSource.from_config(parent=self) self.eventseeker = EventSeeker(event_source, parent=self) self.extractor = ImageExtractor.from_name( self.extractor_product, parent=self, ) self.dl0 = CameraDL0Reducer(parent=self) self.dl1 = CameraDL1Calibrator(extractor=self.extractor, parent=self)
def setup(self): kwargs = dict(parent=self) self.eventsource = EventSource.from_config(**kwargs) self.flatfield = FlatFieldCalculator.from_name(self.calculator_product, **kwargs) self.cleaner = WaveformCleaner.from_name(self.cleaner_product, **kwargs) self.writer = HDF5TableWriter(filename=self.output_file, group_name='flatfield', overwrite=True)
def setup(self): self.event_source = EventSource.from_config(config=self.config, tool=self) self.event_source.allowed_tels = [ self.tel, ] self.calibrator = CameraCalibrator(config=self.config, tool=self, eventsource=self.event_source) self.log.info(f'SELECTING EVENTS FROM TELESCOPE {self.tel}')
def setup(self): kwargs = dict(parent=self) self.log.info("Setup") self.eventsource = EventSource.from_config(**kwargs) self.extractor = FixedWindowSum(**kwargs) self.n = int(self.n_cap / self.n_combine) self.timeCorr = TimeCalCorr(self.n_combine, self.n_harm, self.n_cap, offset=400) self.lst_r0 = LSTR0Corrections(**kwargs) self.log.info(self.n_harm) self.log.info(self.extractor.window_start)
def setup(self): self.log_format = "%(levelname)s: %(message)s [%(name)s.%(funcName)s]" kwargs = dict(config=self.config, tool=self) event_source = EventSource.from_config(**kwargs) self.eventseeker = EventSeeker(event_source, **kwargs) self.extractor = ChargeExtractor.from_name(self.extractor_product, **kwargs) self.r1 = CameraR1Calibrator.from_eventsource(eventsource=event_source, **kwargs) self.dl0 = CameraDL0Reducer(**kwargs) self.dl1 = CameraDL1Calibrator(extractor=self.extractor, **kwargs)
def setup(self): self.eventsource = EventSource.from_config(parent=self) compatible_datalevels = [ DataLevel.R1, DataLevel.DL0, DataLevel.DL1_IMAGES ] if not self.eventsource.has_any_datalevel(compatible_datalevels): raise Exception( "The input file contains no pixelwise information. " "Images can not be constructed.") subarray = self.eventsource.subarray self.calibrator = CameraCalibrator(parent=self, subarray=subarray) self.plotter = ImagePlotter(parent=self, subarray=subarray)
def setup(self): if self.output is None: raise ToolConfigurationError( 'You need to provide an --output file') if self.output.exists() and not self.overwrite: raise ToolConfigurationError( 'Outputfile {self.output} already exists, use `--overwrite` to overwrite' ) self.source = self.add_component(EventSource.from_config(parent=self)) self.extractor = self.add_component( ImageExtractor.from_name(self.extractor_name, parent=self, subarray=self.source.subarray)) self.calib = self.add_component( CameraCalibrator( subarray=self.source.subarray, parent=self, image_extractor=self.extractor, )) self.ring_fitter = self.add_component(MuonRingFitter(parent=self, )) self.intensity_fitter = self.add_component( MuonIntensityFitter( subarray=self.source.subarray, parent=self, )) self.cleaning = self.add_component( TailcutsImageCleaner( parent=self, subarray=self.source.subarray, )) self.writer = self.add_component( HDF5TableWriter( self.output, "", add_prefix=True, parent=self, mode='w', )) self.pixels_in_tel_frame = {} self.field_of_view = {} self.pixel_widths = {} for p in [ 'min_pixels', 'pedestal', 'ratio_width', 'completeness_threshold' ]: getattr(self, p).attach_subarray(self.source.subarray)
def setup(self): self.log_format = "%(levelname)s: %(message)s [%(name)s.%(funcName)s]" self.reader = EventSource.from_config(parent=self) self.seeker = EventSeeker(self.reader, parent=self) self.extractor = ImageExtractor.from_name( self.extractor_product, parent=self ) self.r1 = CameraR1Calibrator.from_eventsource( eventsource=self.reader, parent=self ) self.dl0 = CameraDL0Reducer(parent=self) self.dl1 = CameraDL1Calibrator( extractor=self.extractor, parent=self ) self.viewer = BokehEventViewer(parent=self) # Setup widgets self.viewer.create() self.viewer.enable_automatic_index_increment() self.create_previous_event_widget() self.create_next_event_widget() self.create_event_index_widget() self.create_goto_event_index_widget() self.create_event_id_widget() self.create_goto_event_id_widget() self.create_telid_widget() self.create_channel_widget() self.create_dl1_widgets() self.update_dl1_widget_values() # Setup layout self.layout = layout([ [self.viewer.layout], [ self.w_previous_event, self.w_next_event, self.w_goto_event_index, self.w_goto_event_id ], [self.w_event_index, self.w_event_id], [self.w_telid, self.w_channel], [self.wb_extractor] ])
def setup(self): self.log.debug("Opening file") self.eventsource = EventSource.from_config(parent=self) self.processor = CalibrationCalculator.from_name( self.calibration_product, parent=self, subarray=self.eventsource.subarray) tel_id = self.processor.tel_id # if real data if isinstance(self.eventsource, LSTEventSource): if tel_id != self.eventsource.lst_service.telescope_id: raise ValueError( f"Events telescope_id {self.eventsource.lst_service.telescope_id} " f"different than CalibrationCalculator telescope_id {tel_id}" ) if self.eventsource.r0_r1_calibrator.drs4_pedestal_path.tel[ tel_id] is None: raise IOError( "Missing (mandatory) drs4 pedestal file in trailets") # remember how many events in the files self.tot_events = len(self.eventsource.multi_file) self.log.debug(f"Input file has file {self.tot_events} events") else: self.tot_events = self.eventsource.max_events self.simulation = True group_name = 'tel_' + str(tel_id) self.log.debug(f"Open output file {self.output_file}") self.writer = HDF5TableWriter(filename=self.output_file, group_name=group_name, overwrite=True)
def setup(self): self.eventsource = EventSource.from_config(parent=self) subarray = self.eventsource.subarray self.calibrator = CameraCalibrator(parent=self, subarray=subarray) self.plotter = ImagePlotter(parent=self, subarray=subarray)
def __init__(self, config=None, parent=None): super().__init__(config=config, parent=parent) self.source = EventSource.from_config(parent=self)