def __init__(self, data_provider, output=None, ps_data_provider=None, common=None, rds_conn=None, front_facing=False, custom_scif=None, custom_matches=None, **kwargs): super(Block, self).__init__(data_provider, output, ps_data_provider, common, rds_conn, **kwargs) self._position_graphs = PositionGraphs(self.data_provider) self.front_facing = front_facing self.outliers_threshold = Default.outliers_threshold self.check_vertical_horizontal = Default.check_vertical_horizontal self.include_stacking = Default.include_stacking self.ignore_empty = Default.ignore_empty self.allowed_edge_type = Default.allowed_edge_type self.scif = data_provider.scene_item_facts if custom_scif is None else custom_scif self.matches = data_provider.matches if custom_matches is None else custom_matches self.adj_graphs_by_scene = {} self.masking_data = transform_maskings( retrieve_maskings( self.data_provider.project_name, self.data_provider.scenes_info['scene_fk'].to_list())) self.masking_data = self.masking_data.merge( self.matches[['probe_match_fk', 'scene_fk']], on=['probe_match_fk']) self.matches_df = self.matches.merge( self.data_provider.all_products_including_deleted, on='product_fk') self.matches_df = self.matches_df[ ~(self.matches_df['product_type'].isin(['POS'])) & (self.matches_df['stacking_layer'] > 0)] self.matches_df[Block.BLOCK_KEY] = None
def _load_maskings(project_name, scene_id): return transform_maskings(retrieve_maskings(project_name, [scene_id]))