Exemple #1
0
def create_shadow_corrected_image(casi_normalized, casi, shadow_map):
    ratio = calculate_shadow_ratio(casi,
                                   shadow_map,
                                   numpy.logical_not(shadow_map).astype(int))
    add_coef = numpy.repeat(numpy.expand_dims(shadow_map, axis=2), casi_normalized.shape[2], axis=2) * (ratio - 1)
    final_casi = casi + (casi * add_coef)
    imwrite("muulf_hsi_shadow_corrected.tif", final_casi.astype(numpy.float32), planarconfig='contig')
 def load_shadow_map(self, neighborhood, data_set):
     shadow_map = imread(self.get_model_base_dir() + 'muulf_shadow_map.tif')
     shadow_map = numpy.pad(shadow_map, neighborhood, mode='symmetric')
     shadow_ratio = None
     if data_set is not None:
         shadow_ratio = calculate_shadow_ratio(
             data_set.casi, shadow_map,
             numpy.logical_not(shadow_map).astype(int))
     return shadow_map, shadow_ratio
 def load_shadow_map(self, neighborhood, data_set):
     shadow_map = imread(self.get_model_base_dir() + 'shadow_map.tif')
     shadow_map = numpy.pad(shadow_map, neighborhood, mode='symmetric')
     shadow_ratio = None
     if data_set is not None:
         shadow_ratio = calculate_shadow_ratio(
             data_set.concrete_data[:, :,
                                    0:data_set.concrete_data.shape[2] - 1],
             shadow_map,
             numpy.logical_not(shadow_map).astype(int))
         shadow_ratio = numpy.append(shadow_ratio,
                                     [1]).astype(numpy.float32)
     return shadow_map, shadow_ratio