inverted_index_dump::inverted_index_dump( const inverted_index_storage& storage) { convert_table(storage.inv_, storage.column2id_.id2key_, inv); }
inverted_index_dump::inverted_index_dump( const sparse_matrix_storage& storage) { convert_table(storage.tbl_, storage.column2id_.id2key_, inv); }
void convert_datacube(char *in,char *out) { E3D_file src,dst; SPECTRUM sig, noise, *rms, *signal; SPAXEL *spaxels; E3Dspec_desc *ptdesc; int i, specId, nbspax, npix=-1; double start = -1, end; char extname[lg_name+1], tablename[lg_name+1]; if (open_E3D_file(&src,in,"I")<0) { print_error("Cannot open input file %s",in); exit_session(ERR_OPEN); } else { if (has_common_bounds(&src)) { get_common_param(&src,&npix,&start,&end); } if (create_E3D_file(&dst,out,npix,start,src.step,src.data_type,src.ident,src.cunit) < 0) { close_E3D_file(&src); print_error("Cannot create output file %s",out); exit_session(ERR_CREAT); } else { signal = NULL; rms = NULL; ptdesc = NULL; if (src.signal != NULL) { signal = &sig; ptdesc = src.signal; } if (src.noise != NULL) { rms = &noise; ptdesc = src.noise; } else { if (src.signal == NULL) { close_E3D_file(&src); print_error("Inconsistent input file (no spectra inside)"); exit_session(ERR_BAD_PARAM); } } reset_print_progress(); for (i=0;i<src.nbspec;i++) { print_progress("Convert datacube: ", (int)((100*i)/src.nbspec),1); specId = ptdesc[i].specId; get_E3D_spec(&src,signal,rms,specId); set_quality(rms); put_E3D_spec(&dst,signal,rms,specId); nbspax = get_E3D_spaxels(&src,specId,&spaxels); put_E3D_spaxels(&dst,specId,nbspax,spaxels); } if (src.data_format == TIGER_FORMAT) { /* set groups */ set_tiger_group(&src); } put_E3D_groups(&dst,src.ngroups,src.groups); print_progress("Convert datacube: ", (int)100,1); CP_non_std_desc(&src,&dst); close_E3D_file(&src); close_E3D_file(&dst); printf("\n"); if (src.data_format == TIGER_FORMAT) { /* save table in special extension */ get_science_table_name(in,tablename); append_tbl_extension(out, OutputIO.basic_io); sprintf(extname,"%s[%s]",out,E3D_TIGER_EXT); convert_table(tablename,extname); } if (dst.data_format == TIGER_FORMAT) { /* save science extension as table */ strcpy(tablename,out); remove_file_extension(tablename); sprintf(extname,"%s[%s]",in,E3D_TIGER_EXT); convert_table(extname,tablename); } } } }