def initialise_algorithm(self, input_data):
     self.cnf = ConfigurationFile()
     self.cst = ConstantsFile(
         c_cst=input_data['c_cst'],
         pi_cst=input_data['pi_cst'],
         semi_major_axis_cst=input_data['semi_major_axis_cst'],
         flat_coeff_cst=input_data['flat_coeff_cst'],
         semi_minor_axis_cst=input_data['semi_minor_axis_cst'],
         sec_in_day_cst=60*60*24
     )
     self.chd = CharacterisationFile(
         self.cst,
         freq_ku_chd=input_data['freq_ku_chd'],
         N_ku_pulses_burst_chd=input_data['n_ku_pulses_burst_chd'],
         pri_sar_pre_dat=input_data['pri_sar_pre_dat']
     )
     self.surface_location_algorithm = SurfaceLocationAlgorithm(self.chd, self.cst, self.cnf)
Exemple #2
0
 def initialise_algorithm(self, input_data):
     self.cnf = ConfigurationFile(
         zp_fact_range_cnf=input_data["zp_fact_range_cnf"])
     self.cst = ConstantsFile(
         pi_cst=input_data['pi_cst'],
         earth_radius_cst=input_data['earth_radius_cst'],
         c_cst=input_data['c_cst'])
     self.chd = CharacterisationFile(
         self.cst,
         N_ku_pulses_burst_chd=input_data['n_ku_pulses_burst_chd'],
         N_samples_sar_chd=input_data['n_samples_sar_chd'],
         wv_length_ku_chd=input_data['wv_length_ku'],
         chirp_slope_ku_chd=input_data['chirp_slope_ku'],
         pulse_length_chd=input_data['pulse_length_chd'],
         power_tx_ant_ku_chd=input_data['power_tx_ant_ku_chd'],
         antenna_gain_ku_chd=input_data['antenna_gain_ku_chd'])
     self.sigma0_algorithm =\
         Sigma0ScalingFactorAlgorithm(self.chd, self.cst, self.cnf)
 def initialize_algorithm(self, input_data):
     self.cnf = ConfigurationFile(
         N_looks_stack_cnf=input_data["n_looks_stack_cnf"],
         flag_doppler_range_correction_cnf=input_data["flag_doppler_range_correction_cnf"],
         flag_slant_range_correction_cnf=input_data["flag_slant_range_correction_cnf"]
     )
     self.cst = ConstantsFile(
         c_cst=input_data['c_cst'],
         pi_cst=input_data['pi_cst']
     )
     self.chd = CharacterisationFile(
         self.cst,
         N_samples_sar_chd=input_data['n_samples_sar_chd'],
         pulse_length_chd=input_data['pulse_length_chd'],
         bw_ku_chd=input_data['bw_ku_chd'],
         wv_length_ku_chd=input_data['wv_length_ku']
     )
     self.geometry_corrections_algorithm =\
         GeometryCorrectionsAlgorithm(self.chd, self.cst, self.cnf)
    def initialise_algorithm(self, input_data):
        """
        :param input_data: the input data

        create cst and chd objects from input_data, then initialise
        an instance of the azimuth processing algorithm
        """
        self.cnf = ConfigurationFile(
            flag_azimuth_windowing_method_cnf=AzimuthWindowingMethod.disabled,
            azimuth_window_width_cnf=64
        )
        self.cst = ConstantsFile(
            pi_cst=input_data['pi_cst']
        )
        self.chd = CharacterisationFile(
            self.cst,
            N_ku_pulses_burst_chd=input_data['n_ku_pulses_burst_chd'],
            N_samples_sar_chd=input_data['n_samples_sar_chd']
        )
        self.azimuth_processing_algorithm = AzimuthProcessingAlgorithm(self.chd, self.cst, self.cnf)
Exemple #5
0
 def initialise_algorithm(self, input_data: TestDataLoader):
     self.cnf = ConfigurationFile(
         flag_surface_focusing_cnf=input_data["flag_surface_focusing_cnf"],
         surface_focusing_lat_cnf=input_data.get("surface_focusing_lat_cnf"),
         surface_focusing_lon_cnf=input_data.get("surface_focusing_lon_cnf"),
         surface_focusing_alt_cnf=input_data.get("surface_focusing_alt_cnf")
     )
     self.cst = ConstantsFile(
         c_cst=input_data['c_cst'],
         pi_cst=input_data['pi_cst'],
         semi_major_axis_cst=input_data['semi_major_axis_cst'],
         flat_coeff_cst=input_data['flat_coeff_cst'],
         semi_minor_axis_cst=input_data['semi_minor_axis_cst'],
         sec_in_day_cst=60*60*24
     )
     self.chd = CharacterisationFile(
         self.cst,
         freq_ku_chd=input_data['freq_ku_chd'],
         N_ku_pulses_burst_chd=input_data['n_ku_pulses_burst_chd'],
         pri_sar_pre_dat=input_data['pri_sar_pre_dat']
     )
     self.surface_location_algorithm = SurfaceLocationAlgorithm(self.chd, self.cst, self.cnf)
Exemple #6
0
    def setUp(self):
        self.expected = TestDataLoader(self._expected_file)

        cst = ConstantsFile(self._constants)
        self.actual = CharacterisationFile(cst, self._input_file)
    def __init__(self,
                 name: str,
                 cnf_file: str,
                 cst_file: str,
                 chd_file: str,
                 out_path: str,
                 skip_l1bs: bool = True):
        """
        initialise the processor
        """
        if not name:
            raise ValueError('name must be given')
        if not cnf_file:
            raise ValueError('cnf_file must be given')
        if not cst_file:
            raise ValueError('cst_file must be given')
        if not chd_file:
            raise ValueError('chd_file must be given')
        if out_path is None:
            raise ValueError('out_path must be given')

        # store conf objects
        self.cst = ConstantsFile(cst_file)
        self.chd = CharacterisationFile(self.cst, chd_file)
        self.cnf = ConfigurationFile(cnf_file)

        self.skip_l1bs = skip_l1bs
        self.out_path = out_path
        self.name = name
        self.l1a_file = None

        # init. surface & packets arrays
        self._surfaces = []
        self._packets = []
        self.surfaces_count = 0
        self.min_surfs = 64 + 16  # 16 elem. margin

        # set defaults for beam angles
        self.beam_angles_list_size_prev = -1
        self.beam_angles_trend_prev = -1

        # initialise the algorithm classes
        self.surface_locations_algorithm = \
            SurfaceLocationAlgorithm(self.chd, self.cst, self.cnf)
        self.beam_angles_algorithm = \
            BeamAnglesAlgorithm(self.chd, self.cst, self.cnf)
        self.azimuth_processing_algorithm = \
            AzimuthProcessingAlgorithm(self.chd, self.cst, self.cnf)
        self.stack_gathering_algorithm = \
            StackGatheringAlgorithm(self.chd, self.cst, self.cnf)
        self.geometry_corrections_algorithm = \
            GeometryCorrectionsAlgorithm(self.chd, self.cst, self.cnf)
        self.range_compression_algorithm = \
            RangeCompressionAlgorithm(self.chd, self.cst, self.cnf)
        self.stack_masking_algorithm = \
            StackMaskingAlgorithm(self.chd, self.cst, self.cnf)
        self.multilooking_algorithm = \
            MultilookingAlgorithm(self.chd, self.cst, self.cnf)
        self.sigma_zero_algorithm = \
            Sigma0ScalingFactorAlgorithm(self.chd, self.cst, self.cnf)

        # set threshold for gaps
        self.gap_threshold = self.chd.bri_sar * 1.5