grasp_input.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "grasp_input.h"
#include "grasp_input_load_functions.h"
#include <assert.h>
#include "mod_par_inv.inc"
#include "../global/grasp_retrieval_meas_type.h"
#include "drivers/sdata/sdata.h"
#include "drivers/sdata/sdata-impl.h"
#include "../output/grasp_output.h"
#include "../output/grasp_output_load_function.h"
#include "../output/grasp_output_stream.h"
#include "../global/grasp_error_codes.h"

Functions

int grasp_input_initialize_tile_description (int nfiles, char input_files[GRASP_INPUT_MAX_FILES][_GBL_FILE_PATH_LEN], grasp_tile_description_t *tile_description)
 
int grasp_input_position_of_inversion (const grasp_tile_dimensions_t *tile_dimensions, int id_inversion, int *icol, int *irow, int *itime)
 
int grasp_input_extract_segment (grasp_settings *settings, grasp_input_driver_t *driver, int ntransformers, grasp_input_transformer_t *transformers, grasp_segment_t *segment, grasp_results_t *results, grasp_tile_dimensions_t *tile_dimensions, int id_inversion)
 
bool segment_has_time_index (grasp_segment_t *segment, int it)
 
void grasp_input_edges_loop_and_copy_data_x (grasp_settings *settings, grasp_segment_t *segment, grasp_tile_dimensions_t *tile_dimensions, grasp_results_t *results, int minit, int maxit, int miniy, int maxiy, int minix, int maxix, int before_after)
 
void grasp_input_edges_loop_and_copy_data_y (grasp_settings *settings, grasp_segment_t *segment, grasp_tile_dimensions_t *tile_dimensions, grasp_results_t *results, int minit, int maxit, int miniy, int maxiy, int minix, int maxix, int before_after)
 
int grasp_input_edges_search_in_T (grasp_segment_t *segment, grasp_results_t *results, grasp_tile_dimensions_t *tile_dimensions, int it, int iy, int ix, int dir)
 
void grasp_input_edges_find_X_before (grasp_settings *settings, grasp_segment_t *segment, grasp_tile_dimensions_t *tile_dimensions, grasp_results_t *results, int icol, int irow, int itime)
 
void grasp_input_edges_find_X_after (grasp_settings *settings, grasp_segment_t *segment, grasp_tile_dimensions_t *tile_dimensions, grasp_results_t *results, int icol, int irow, int itime)
 
void grasp_input_edges_find_Y_before (grasp_settings *settings, grasp_segment_t *segment, grasp_tile_dimensions_t *tile_dimensions, grasp_results_t *results, int icol, int irow, int itime)
 
void grasp_input_edges_find_Y_after (grasp_settings *settings, grasp_segment_t *segment, grasp_tile_dimensions_t *tile_dimensions, grasp_results_t *results, int icol, int irow, int itime)
 
void grasp_input_edges_find_T_before (grasp_settings *settings, grasp_segment_t *segment, grasp_tile_dimensions_t *tile_dimensions, grasp_results_t *results, int icol, int irow, int itime)
 
void grasp_input_edges_find_T_after (grasp_settings *settings, grasp_segment_t *segment, grasp_tile_dimensions_t *tile_dimensions, grasp_results_t *results, int icol, int irow, int itime)
 
void grasp_input_edges_find (grasp_settings *settings, grasp_segment_t *segment, grasp_tile_dimensions_t *tile_dimensions, grasp_results_t *results, int icol, int irow, int itime)
 
int grasp_input_get_num_pixels_at_it (const sensor_data_t *sdata, int it)
 
void grasp_input_clean_segment (grasp_segment_t *segment, float missing_value)
 
void grasp_input_dump_iguess (FILE *output_stream, const grasp_settings *settings, const grasp_segment_t *segment)
 
void grasp_input_dump_sdata (FILE *output_stream, const sensor_data_t *sdata)
 
void grasp_input_print_segment (FILE *output_stream, const char *label, const grasp_segment_t *segment)
 
void grasp_input_print_segment_pixel (FILE *output_stream, const grasp_segment_t *segment, size_t ipixel)
 
void grasp_input_print_sdata (FILE *output_stream, const char *label, const sensor_data_t *sdata)
 
int grasp_input_expand_files (int nfiles, char input_files[GRASP_INPUT_MAX_FILES][_GBL_FILE_PATH_LEN], char ***output_files)
 
void grasp_input_deallocate_expanded_files (char **files, int nfiles)
 

Function Documentation

◆ grasp_input_clean_segment()

void grasp_input_clean_segment ( grasp_segment_t segment,
float  missing_value 
)

◆ grasp_input_deallocate_expanded_files()

void grasp_input_deallocate_expanded_files ( char **  files,
int  nfiles 
)

◆ grasp_input_dump_iguess()

void grasp_input_dump_iguess ( FILE *  output_stream,
const grasp_settings settings,
const grasp_segment_t segment 
)

Dump initial guess of each pixel in image.dat format

Parameters
output_streamStream where dump the information (screen, file, ...)
settingsSettings file of current process needed to know number of characteristics that drives in forward model
segmentInitial guess that will be dumped.

◆ grasp_input_dump_sdata()

void grasp_input_dump_sdata ( FILE *  output_stream,
const sensor_data_t sdata 
)

◆ grasp_input_edges_find()

void grasp_input_edges_find ( grasp_settings settings,
grasp_segment_t segment,
grasp_tile_dimensions_t tile_dimensions,
grasp_results_t results,
int  icol,
int  irow,
int  itime 
)

◆ grasp_input_edges_find_T_after()

void grasp_input_edges_find_T_after ( grasp_settings settings,
grasp_segment_t segment,
grasp_tile_dimensions_t tile_dimensions,
grasp_results_t results,
int  icol,
int  irow,
int  itime 
)

◆ grasp_input_edges_find_T_before()

void grasp_input_edges_find_T_before ( grasp_settings settings,
grasp_segment_t segment,
grasp_tile_dimensions_t tile_dimensions,
grasp_results_t results,
int  icol,
int  irow,
int  itime 
)

◆ grasp_input_edges_find_X_after()

void grasp_input_edges_find_X_after ( grasp_settings settings,
grasp_segment_t segment,
grasp_tile_dimensions_t tile_dimensions,
grasp_results_t results,
int  icol,
int  irow,
int  itime 
)

◆ grasp_input_edges_find_X_before()

void grasp_input_edges_find_X_before ( grasp_settings settings,
grasp_segment_t segment,
grasp_tile_dimensions_t tile_dimensions,
grasp_results_t results,
int  icol,
int  irow,
int  itime 
)

◆ grasp_input_edges_find_Y_after()

void grasp_input_edges_find_Y_after ( grasp_settings settings,
grasp_segment_t segment,
grasp_tile_dimensions_t tile_dimensions,
grasp_results_t results,
int  icol,
int  irow,
int  itime 
)

◆ grasp_input_edges_find_Y_before()

void grasp_input_edges_find_Y_before ( grasp_settings settings,
grasp_segment_t segment,
grasp_tile_dimensions_t tile_dimensions,
grasp_results_t results,
int  icol,
int  irow,
int  itime 
)

◆ grasp_input_edges_loop_and_copy_data_x()

void grasp_input_edges_loop_and_copy_data_x ( grasp_settings settings,
grasp_segment_t segment,
grasp_tile_dimensions_t tile_dimensions,
grasp_results_t results,
int  minit,
int  maxit,
int  miniy,
int  maxiy,
int  minix,
int  maxix,
int  before_after 
)

◆ grasp_input_edges_loop_and_copy_data_y()

void grasp_input_edges_loop_and_copy_data_y ( grasp_settings settings,
grasp_segment_t segment,
grasp_tile_dimensions_t tile_dimensions,
grasp_results_t results,
int  minit,
int  maxit,
int  miniy,
int  maxiy,
int  minix,
int  maxix,
int  before_after 
)

◆ grasp_input_edges_search_in_T()

int grasp_input_edges_search_in_T ( grasp_segment_t segment,
grasp_results_t results,
grasp_tile_dimensions_t tile_dimensions,
int  it,
int  iy,
int  ix,
int  dir 
)

◆ grasp_input_expand_files()

int grasp_input_expand_files ( int  nfiles,
char  input_files[GRASP_INPUT_MAX_FILES][_GBL_FILE_PATH_LEN],
char ***  output_files 
)

◆ grasp_input_extract_segment()

int grasp_input_extract_segment ( grasp_settings settings,
grasp_input_driver_t driver,
int  ntransformers,
grasp_input_transformer_t transformers,
grasp_segment_t segment,
grasp_results_t results,
grasp_tile_dimensions_t tile_dimensions,
int  id_inversion 
)

◆ grasp_input_get_num_pixels_at_it()

int grasp_input_get_num_pixels_at_it ( const sensor_data_t sdata,
int  it 
)

◆ grasp_input_initialize_tile_description()

int grasp_input_initialize_tile_description ( int  nfiles,
char  input_files[GRASP_INPUT_MAX_FILES][_GBL_FILE_PATH_LEN],
grasp_tile_description_t tile_description 
)

◆ grasp_input_position_of_inversion()

int grasp_input_position_of_inversion ( const grasp_tile_dimensions_t tile_dimensions,
int  id_inversion,
int *  icol,
int *  irow,
int *  itime 
)

Return the position in the tile of a inversion identified by id_inversion

Parameters
tile_dimensionsCurrent tile dimension information
id_inversionIdentification of the inversion which user want to know the position in the tile
icol[output] Column of the segment in the tile
irow[output] Row of the segment in the tile
itime[output] index of time of the segment in the tile
Returns
0 if the segment is in the tile, otherwise it will be -1

◆ grasp_input_print_sdata()

void grasp_input_print_sdata ( FILE *  output_stream,
const char *  label,
const sensor_data_t sdata 
)

◆ grasp_input_print_segment()

void grasp_input_print_segment ( FILE *  output_stream,
const char *  label,
const grasp_segment_t segment 
)

◆ grasp_input_print_segment_pixel()

void grasp_input_print_segment_pixel ( FILE *  output_stream,
const grasp_segment_t segment,
size_t  ipixel 
)

◆ segment_has_time_index()

bool segment_has_time_index ( grasp_segment_t segment,
int  it 
)