From babf51b653d10eaff3dc7a232e1d0ef0ee9cdc00 Mon Sep 17 00:00:00 2001 From: gerald <gerald.moesenlechner@univie.ac.at> Date: Wed, 31 Jan 2024 18:10:42 +0100 Subject: [PATCH] Release of V1.1 --- src/HFS_API.cpp | 314 +++--- src/HFS_API.hpp | 16 +- src/HFS_Wrapper.cpp | 4 +- src/Star_catalogue.csv | 2214 +++++++++++++++++++++++++++++++++++++++ src/detector_features.c | 41 +- src/detector_features.h | 2 +- src/fcu_algorithms.c | 311 +----- src/fcu_algorithms.h | 8 +- src/utilities.c | 34 +- 9 files changed, 2465 insertions(+), 479 deletions(-) create mode 100644 src/Star_catalogue.csv diff --git a/src/HFS_API.cpp b/src/HFS_API.cpp index ca6a31c..39b9186 100644 --- a/src/HFS_API.cpp +++ b/src/HFS_API.cpp @@ -1,8 +1,8 @@ /** * @file HFS_API.cpp * @author Gerald Mösenlechner (gerald.moesenlechner@univie.ac.at) -* @date November, 2023 -* @version 1.0 +* @date January, 2024 +* @version 1.1 * * @copyright * This program is free software; you can redistribute it and/or modify it @@ -32,11 +32,9 @@ const char* MODE_ACQU = "Acquisition"; const char* MODE_TRAC = "Tracking"; const char* MODE_STBY = "Standby"; -static double ROTMATRIX[9] = {-1, 0, 0, 0, 0.999998, -0.0017, 0, -0.0017, -0.999998}; -static double ROTMATRIX_SC[9] = {0, -1, 0, 0, 0, 1, -1, 0, 0}; -double smear_kernel_os[125*125]; -double smear_kernel[25*25]; +double smear_kernel_os[XDIM_KERNEL*5*YDIM_KERNEL*5]; +double smear_kernel[XDIM_KERNEL*YDIM_KERNEL]; double bias_sample[128]; double bias[XDIM*YDIM]; double dark[XDIM*YDIM]; @@ -79,7 +77,7 @@ int FGS :: reset_fgs(const char* config_file, int hard_reset) const char* smear_buffer; const char* psf1_buffer; const char* psf2_buffer; - const char* catalouge_buffer; + const char* catalogue_buffer; const char* modeInput; targets -> number = 0; @@ -186,6 +184,7 @@ int FGS :: reset_fgs(const char* config_file, int hard_reset) cTracking -> FirstChildElement("thresholding") -> QueryUnsignedText(&threshold_track); cTracking -> FirstChildElement("delay") -> QueryDoubleText(&delay_track); cTracking -> FirstChildElement("exposure_time") -> QueryDoubleText(&exp_track); + cTracking -> FirstChildElement("tolerance") -> QueryUnsignedText(&tolerance_track); cTracking -> FirstChildElement("dim") -> QueryUnsignedText(&track_dim); tinyxml2::XMLElement *cAcquisition = cRootElement -> FirstChildElement("Acquisition"); @@ -199,11 +198,11 @@ int FGS :: reset_fgs(const char* config_file, int hard_reset) cAcquisition -> FirstChildElement("FGS2_dim") -> QueryUnsignedText(&acq_dim_fgs2); cAcquisition -> FirstChildElement("target_limit") -> QueryUnsignedText(&max_targets); cAcquisition -> FirstChildElement("extension_sigma") -> QueryUnsignedText(&extension_sigma); - /*Parse and read stars from catalouge*/ - catalouge_buffer = cRootElement -> FirstChildElement("Star_catalouge") -> GetText(); - catalouge.assign(catalouge_buffer); + /*Parse and read stars from catalogue*/ + catalogue_buffer = cRootElement -> FirstChildElement("Star_catalogue") -> GetText(); + catalogue.assign(catalogue_buffer); - search_star_id(targets, catalouge_buffer); + search_star_id(targets, catalogue_buffer); cRootElement -> FirstChildElement("use_saved_files") -> QueryUnsignedText(&use_save); hp_buffer = cRootElement -> FirstChildElement("hp_map") -> GetText(); @@ -317,7 +316,7 @@ int FGS :: reset_fgs(const char* config_file, int hard_reset) smear_if.open(smear_buffer, std::ifstream::in); if (smear_if.is_open()){ - for (i = 0; i < 125*125; i++){ + for (i = 0; i < XDIM_KERNEL*5*YDIM_KERNEL*5; i++){ smear_if >> smear_kernel_os[i]; } } @@ -336,8 +335,7 @@ int FGS :: reset_fgs(const char* config_file, int hard_reset) return 0; } -double angular_rate_sc[3]; -double angular_rate_opt[3]; + double angular_rate_drf[3]; /** @@ -357,50 +355,29 @@ double angular_rate_drf[3]; int FGS :: generate_smear(double (&angular_rate)[3], double dt) { - struct dmatrix rot_matrix_sc, rot_matrix_opt, ar, transf_opt, transf; double unit_vec[3] = {0., 0., 1.}; + double ar[3]; double x_smear, y_smear; unsigned int i; + int status; - rot_matrix_sc.data = ROTMATRIX_SC; - rot_matrix_sc.xdim = 3; - rot_matrix_sc.ydim = 3; - - rot_matrix_opt.data = ROTMATRIX; - rot_matrix_opt.xdim = 3; - rot_matrix_opt.ydim = 3; - - ar.data = angular_rate; - ar.xdim = 1; - ar.ydim = 3; for (i = 0; i < 3; i++){ - ar.data[i] = ar.data[i]/3600; /*convert to degrees/s*/ + ar[i] = angular_rate[i]/3600; /*convert to degrees/s*/ } - transf_opt.data = angular_rate_sc; - transf.data = angular_rate_opt; + cross3(ar, unit_vec, angular_rate_drf); - dmatmult(rot_matrix_sc, ar, &transf_opt); - dmatmult(rot_matrix_opt, transf_opt, &transf); + x_smear = - angular_rate_drf[0]*dt*3600000/plate_scale; + y_smear = - angular_rate_drf[1]*dt*3600000/plate_scale; - cross3(transf.data, unit_vec, angular_rate_drf); + status = generate_linear_smearing_kernel(smear_kernel_os, x_smear_0 * 5, y_smear_0 * 5, x_smear * 5, y_smear * 5, XDIM_KERNEL*5); - x_smear = -angular_rate_drf[0]*dt*3600000/plate_scale; - y_smear = -angular_rate_drf[1]*dt*3600000/plate_scale; - - generate_linear_smearing_kernel(smear_kernel_os, x_smear_0 * 5, y_smear_0 * 5, x_smear * 5, y_smear * 5, 125); x_smear_0 += x_smear; y_smear_0 += y_smear; -#if 0 - std::ofstream test_file; - test_file.open("image.txt", std::ios_base::app); - for (i = 0; i < 125*125; i++) { - test_file << smear_kernel_os[i] << " "; - if (i && !((i + 1) % (int)125)) - test_file << "\n"; - } - test_file.close(); -#endif + + if(status == 1){ + std::cerr << "WARNING: angular rate exeeds smearing kernel borders at t = " << sim_time << "s!\n"; + } return 0; } @@ -416,11 +393,11 @@ int FGS :: generate_smear(double (&angular_rate)[3], double dt) int FGS :: generate_image() { unsigned int i; - - downsample_image(smear_kernel_os, smear_kernel, 125, 125, 5); - - shift_smear(smear_kernel, x_smear_0, y_smear_0, 25); - + + shift_smear(smear_kernel_os, x_smear_0*5, y_smear_0*5, XDIM_KERNEL*5); + + downsample_image(smear_kernel_os, smear_kernel, XDIM_KERNEL*5, YDIM_KERNEL*5, 5); + generate_bias(bias, bias_sample, bias_value, 128, dim_x, dim_y); generate_dark(dark, dark_mean, exposure_time, hot_pixels, dim_x, dim_y); @@ -442,10 +419,10 @@ int FGS :: generate_image() } for(i = 0; i < dim_x*dim_y; i++) - { + { starimage[i] = starimage[i] + bkgr[i]; } - + generate_shot(starimage, shot, dim_x, dim_y); for(i = 0; i < dim_x*dim_y; i++){ @@ -453,17 +430,6 @@ int FGS :: generate_image() if (image[i] > full_well_cap) image[i] = full_well_cap; } - /*Debug output for image*/ -#if 0 - std::ofstream test_file; - test_file.open("image.txt"); - for (i = 0; i < dim_y*dim_y; i++) { - test_file << image[i] << " "; - if (i && !((i + 1) % (int)dim_x)) - test_file << "\n"; - } - test_file.close(); -#endif return 0; } @@ -484,7 +450,7 @@ int FGS :: perform_algorithm() unsigned int i; output.x = 0.; output.y = 0.; - + if(strcmp(mode, MODE_ACQU) == 0){ if (threshold_acq == 1){ min = GetMin(image, dim_x*dim_y); @@ -497,10 +463,10 @@ int FGS :: perform_algorithm() } if (med_acq == 1){ MedFilter3x3(image, dim_x, dim_y, med_threshold, filtered_image); - output = SourceDetection(filtered_image, dim_x, dim_y, 0, channel, max_targets, target_signal*exposure_time, tolerance_acq, extension_sigma, iter_acq, fwhm_x, fwhm_y, target_signal*(lower_sig_lim/100)*exposure_time, val_sigma, pearson_limit); + output = SourceDetection(filtered_image, dim_x, dim_y, channel, max_targets, target_signal*exposure_time, tolerance_acq, extension_sigma, iter_acq, fwhm_x, fwhm_y, target_signal*(lower_sig_lim/100)*exposure_time, val_sigma*(lower_sig_lim/100)*exposure_time, pearson_limit); } else{ - output = SourceDetection(image, dim_x, dim_y, 0, channel, max_targets, target_signal*exposure_time, tolerance_acq, extension_sigma, iter_acq, fwhm_x, fwhm_y, target_signal*(lower_sig_lim/100)*exposure_time, val_sigma, pearson_limit); + output = SourceDetection(image, dim_x, dim_y, channel, max_targets, target_signal*exposure_time, tolerance_acq, extension_sigma, iter_acq, fwhm_x, fwhm_y, target_signal*(lower_sig_lim/100)*exposure_time, val_sigma*(lower_sig_lim/100)*exposure_time, pearson_limit); } } else if (strcmp(mode, MODE_TRAC) == 0){ @@ -512,13 +478,13 @@ int FGS :: perform_algorithm() } else if(threshold_track == 2){ std_threshold(image, dim_x, dim_y); - } + } if(med_track == 1){ MedFilter3x3(image, dim_x, dim_y, med_threshold, filtered_image); - output = ArielCoG(filtered_image, dim_x, dim_y, iter_track, 0, fwhm_x, fwhm_y, channel, target_signal*(lower_sig_lim/100)*exposure_time, val_sigma, pearson_limit); + output = ArielCoG(filtered_image, dim_x, dim_y, iter_track, fwhm_x, fwhm_y, channel, target_signal*(lower_sig_lim/100)*exposure_time, val_sigma*(lower_sig_lim/100)*exposure_time, pearson_limit, tolerance_track, target_signal*exposure_time); } else{ - output = ArielCoG(image, dim_x, dim_y, iter_track, 0, fwhm_x, fwhm_y, channel, target_signal*(lower_sig_lim/100)*exposure_time, val_sigma, pearson_limit); + output = ArielCoG(image, dim_x, dim_y, iter_track, fwhm_x, fwhm_y, channel, target_signal*(lower_sig_lim/100)*exposure_time, val_sigma*(lower_sig_lim/100)*exposure_time, pearson_limit, tolerance_track, target_signal*exposure_time); } } @@ -616,24 +582,24 @@ int FGS :: reset_arrays(int reset_all) unsigned int i; random_normal_trm(bias_sample, 0, read_noise, 128); //#pragma omp parallel for - for(i = 0; i < XDIM*YDIM; i++){ - bias[i] = 0.; - dark[i] = 0.; - shot[i] = 0.; - bkgr[i] = 0.; - starmask[i] = 0.; - starimage[i] = 0.; - smeared_mask[i] = 0.; - image[i] = 0; - filtered_image[i] = 0; - if(reset_all != 0){ - flat[i] = 0.; - hot_pixels[i] = 0.; - } - if(i < 125*125){ - smear_kernel_os[i] = 0.; + for(i = 0; i < XDIM_KERNEL*5*YDIM_KERNEL*5; i++){ + smear_kernel_os[i] = 0.; + if(i < XDIM*YDIM){ + bias[i] = 0.; + dark[i] = 0.; + shot[i] = 0.; + bkgr[i] = 0.; + starmask[i] = 0.; + starimage[i] = 0.; + smeared_mask[i] = 0.; + image[i] = 0; + filtered_image[i] = 0; + if(reset_all != 0){ + flat[i] = 0.; + hot_pixels[i] = 0.; + } } - if(i < 25*25){ + if(i < XDIM_KERNEL*YDIM_KERNEL){ smear_kernel[i] = 0.; } } @@ -854,6 +820,10 @@ int FGS :: generate_config(const char* output_file) cTrackExp->SetText(exp_track); cTracking->InsertEndChild(cTrackExp); + tinyxml2::XMLElement* cTrackTol = config.NewElement("tolerance"); + cTrackTol->SetText(tolerance_track); + cTracking->InsertEndChild(cTrackTol); + tinyxml2::XMLElement* cTrackDim = config.NewElement("dim"); cTrackDim->SetText(track_dim); cTracking->InsertEndChild(cTrackDim); @@ -901,9 +871,9 @@ int FGS :: generate_config(const char* output_file) cAcqExtSig->SetText(extension_sigma); cAcquisition->InsertEndChild(cAcqExtSig); - tinyxml2::XMLElement* cCatalouge = config.NewElement("Star_catalouge"); - cCatalouge->SetText(catalouge.c_str()); - cRoot->InsertEndChild(cCatalouge); + tinyxml2::XMLElement* ccatalogue = config.NewElement("Star_catalogue"); + ccatalogue->SetText(catalogue.c_str()); + cRoot->InsertEndChild(ccatalogue); tinyxml2::XMLElement* cSave = config.NewElement("use_saved_files"); cSave->SetText(1); @@ -952,7 +922,7 @@ int FGS :: generate_config(const char* output_file) flat_of.close(); smear_of.open(smear_save, std::ofstream::out | std::ofstream::app); - for (i = 0; i < 125*125; i++){ + for (i = 0; i < XDIM_KERNEL*5*YDIM_KERNEL*5; i++){ smear_of << std::setprecision(std::numeric_limits<double>::max_digits10) << smear_kernel_os[i] << "\n"; } smear_of.close(); @@ -1016,6 +986,7 @@ struct hfs_state FGS :: get_hfs_state() output.med_acq = med_acq; output.threshold_track = threshold_track; output.threshold_acq = threshold_acq; + output.tolerance_track = tolerance_track; output.tolerance_acq = tolerance_acq; output.mode = mode; output.targets = targets; @@ -1043,17 +1014,12 @@ struct hfs_state FGS :: get_hfs_state() output.psf_fgs1 = psf_fgs1; output.psf_fgs2 = psf_fgs2; output.input_file = input_file; - output.catalouge = catalouge; + output.catalogue = catalogue; output.targets = targets; output.centroid = centroid; return output; } -double transform_sc[3]; -double transform_opt[3]; -double transform_sc_vel[3]; -double transform_opt_vel[3]; - /** * @brief transforms vector from spacecraft reference frame to detector * reference frame @@ -1071,37 +1037,9 @@ double transform_opt_vel[3]; int FGS :: transform_to_detector(double (&vec)[3], double (&velVec)[3], int trf_x, int trf_y, double* output) { - struct dmatrix rot_matrix_sc, rot_matrix_opt, vector, transf_opt, transf, transf_opt_vel, transf_vel, velocity; - double x_pos, y_pos, x_vel, y_vel; - - rot_matrix_sc.data = ROTMATRIX_SC; - rot_matrix_sc.xdim = 3; - rot_matrix_sc.ydim = 3; - - rot_matrix_opt.data = ROTMATRIX; - rot_matrix_opt.xdim = 3; - rot_matrix_opt.ydim = 3; - - vector.data = vec; - vector.xdim = 1; - vector.ydim = 3; - velocity.data = velVec; - velocity.xdim = 1; - velocity.ydim = 3; - transf_opt.data = transform_sc; - transf.data = transform_opt; - transf_opt_vel.data = transform_sc_vel; - transf_vel.data = transform_opt_vel; - - dmatmult(rot_matrix_sc, vector, &transf_opt); - dmatmult(rot_matrix_opt, transf_opt, &transf); - - dmatmult(rot_matrix_sc, velocity, &transf_opt_vel); - dmatmult(rot_matrix_opt, transf_opt_vel, &transf_vel); - - x_vel = transf_vel.data[0]; - y_vel = transf_vel.data[1]; + double x_pos, y_pos; + apply_aberration(vec, velVec); if(strcmp(mode, MODE_TRAC) == 0){ /*Check if tracking window is inside of Acq window*/ @@ -1121,23 +1059,13 @@ int FGS :: transform_to_detector(double (&vec)[3], double (&velVec)[3], int trf_ trf_y = acq_dim_fgs2/2 - dim_y/2; } } - - - transf.data[0] = transf.data[0] - x_vel/CVEL; - transf.data[1] = transf.data[1] - y_vel/CVEL; - - x_pos = (transf.data[0]*(360/TWO_PI)*3600000 + offset[0])/plate_scale - trf_x; - y_pos = (transf.data[1]*(360/TWO_PI)*3600000 + offset[1])/plate_scale - trf_y; + x_pos = (vec[0]*(360/TWO_PI)*3600000 + offset[0])/plate_scale - trf_x; + y_pos = (vec[1]*(360/TWO_PI)*3600000 + offset[1])/plate_scale - trf_y; } else{ - transf.data[0] = transf.data[0] - x_vel/CVEL; - transf.data[1] = transf.data[1] - y_vel/CVEL; - - - x_pos = (transf.data[0]*(360/TWO_PI)*3600000 + offset[0])/plate_scale; - y_pos = (transf.data[1]*(360/TWO_PI)*3600000 + offset[1])/plate_scale; - } - + x_pos = (vec[0]*(360/TWO_PI)*3600000 + offset[0])/plate_scale; + y_pos = (vec[1]*(360/TWO_PI)*3600000 + offset[1])/plate_scale; + } if(abs(x_pos) < (dim_x/2)){ if(abs(y_pos) < (dim_y/2)){ output[0] = x_pos; @@ -1205,11 +1133,6 @@ int FGS :: transform_star_coordinates(double (&quaternion)[4], double (&velocity } } -#if 0 - for(i = 0; i < targets -> number; i++) - std::cout << targets -> id[i] << ": " << targets -> visible[i] << "\n"; -#endif - return 0; } @@ -1238,8 +1161,8 @@ int FGS :: generate_centroid(hfs_parameters update) centroid.x = (centroid.x - dim_x/2) * plate_scale; centroid.y = (centroid.y - dim_y/2) * plate_scale; - centroid.x = (centroid.x + random_normal_number(0, jitter_error) + ((double) update.add_shift_x/10)) * update.mult_shift_x; - centroid.y = (centroid.y + random_normal_number(0, jitter_error) + ((double) update.add_shift_y/10)) * update.mult_shift_y; + centroid.x = (centroid.x + random_normal_number(0, jitter_error) + ((double) update.add_shift_x)) * update.mult_shift_x; + centroid.y = (centroid.y + random_normal_number(0, jitter_error) + ((double) update.add_shift_y)) * update.mult_shift_y; @@ -1378,7 +1301,7 @@ int FGS :: set_params(hfs_parameters update, outputHfs *outPacket) if((strcmp(mode, update_mode_char) != 0) || channel != update.channel){ transition_end = sim_time + transition_delay; - } + } } else{ generate_smear(update.ang_rate, timestep); @@ -1427,29 +1350,29 @@ int FGS :: set_params(hfs_parameters update, outputHfs *outPacket) char line[1024]; /** - * @brief searches star catalouge for given id and adds it to a stars struct + * @brief searches star catalogue for given id and adds it to a stars struct * - * Parser searching the star catalouge for the given target name and adding the + * Parser searching the star catalogue for the given target name and adding the * cordinates and fluxes to the passed struct. Automatically handels the * incrementation of the the target counter. * * @param sim_stars: pointer to the destination struct - * @param catalouge: star catalouge used + * @param catalogue: star catalogue used * * @return 0 on success, 1 if target cannot be found */ -int search_star_id(struct stars* sim_stars, const char* catalouge) +int search_star_id(struct stars* sim_stars, const char* catalogue) { - FILE* stream = fopen(catalouge, "r"); + FILE* stream = fopen(catalogue, "r"); char* end; const char* tok; unsigned int i; if(stream == NULL){ - std::cerr << "Star catalouge could not be found!\n"; + std::cerr << "Star catalogue could not be found!\n"; return -1; } @@ -1462,20 +1385,17 @@ int search_star_id(struct stars* sim_stars, const char* catalouge) i = 0; for(tok = strtok(NULL, ",\n"); tok && *tok; i++, tok = strtok(NULL, ",\n")){ - switch(i){ + switch(i){ case 0: - strtod(tok, &end); - break; - case 1: sim_stars -> signalFGS1[sim_stars -> number] = strtod(tok, &end); break; - case 2: + case 1: sim_stars -> signalFGS2[sim_stars -> number] = strtod(tok, &end); break; - case 3: + case 2: sim_stars -> ra[sim_stars -> number] = strtod(tok, &end); break; - case 4: + case 3: sim_stars -> dec[sim_stars -> number] = strtod(tok, &end); sim_stars -> number++; break; @@ -1519,4 +1439,72 @@ int multiply_quaternion(double (&quaternion1)[4], double (&quaternion2)[4], doub return 0; } +/** + * @brief Normalizes a 3D Vector + * + * The function normalizes a 3 dimensional vector + * + * @param vec: input vector + */ +void normalize(double* vec) +{ + double norm; + unsigned int i; + norm = sqrt(dot(vec, vec, 3)); + for (i = 0; i < 3; ++i) { + vec[i] /= norm; + } +} + +/** + * @brief Determine relativistic aberration based on velocity vector + * + * The function shifts the input vector starVec based on the realtivistic aberration + * introduced by the velocity vector vel´. + * + * @param starVec: stellar input vector + * @param vel: velocity vector in km/s + */ +void apply_aberration(double* starVec, double *vel) +{ + double n_AX[3], n_AY[3], n_AZ[3], paraCheck[3]; + double cosTheta0, sinTheta0, cosTheta, sinTheta, velOnCNorm; + unsigned int i; + + cross3(starVec, vel, paraCheck); + + normalize(starVec); + + if (dot(vel, vel, 3) < 1e-20) { + return; /* neglect tiny correction */ + } + + if(fabs(paraCheck[0]) < 1e-5 && fabs(paraCheck[1]) < 1e-5 && fabs(paraCheck[2]) < 1e-5){ + return; /*check if parallel*/ + } + n_AX[0] = vel[0]; + n_AX[1] = vel[1]; + n_AX[2] = vel[2]; + + normalize(n_AX); + + cross3(n_AX, starVec, n_AZ); + + normalize(n_AZ); + + cross3(n_AZ, n_AX, n_AY); + + cosTheta0 = -1.0 * dot(starVec, n_AX, 3); + sinTheta0 = -1.0 * dot(starVec, n_AY, 3); + + velOnCNorm = sqrt(dot(vel, vel, 3)) / CVEL; + + cosTheta = (cosTheta0 - velOnCNorm) / (1 - velOnCNorm*cosTheta0); + sinTheta = (sinTheta0 > 0 ? +1.0 : -1.0) * sqrt(1 - cosTheta*cosTheta); + + for (i = 0; i < 3; ++i){ + starVec[i] = -1.0 * (cosTheta * n_AX[i] + sinTheta * n_AY[i]); + } + return; +} \ No newline at end of file diff --git a/src/HFS_API.hpp b/src/HFS_API.hpp index 27afae0..5fbcdc2 100644 --- a/src/HFS_API.hpp +++ b/src/HFS_API.hpp @@ -1,8 +1,8 @@ /** * @file HFS_API.hpp * @author Gerald Mösenlechner (gerald.moesenlechner@univie.ac.at) -* @date November, 2023 -* @version 1.0 +* @date January, 2024 +* @version 1.1 * * @copyright * This program is free software; you can redistribute it and/or modify it @@ -46,8 +46,8 @@ #define YDIM 200 #define XDIM_PSF 40 #define YDIM_PSF 40 -#define XDIM_KERNEL 25 -#define YDIM_KERNEL 25 +#define XDIM_KERNEL 50 +#define YDIM_KERNEL 50 #define TWO_PI 6.28318531f #define CVEL 299792.458f //km/s @@ -106,6 +106,7 @@ struct hfs_state unsigned int iter_track; unsigned int iter_acq; unsigned int med_track; + unsigned int tolerance_track; unsigned int med_acq; unsigned int threshold_track; unsigned int threshold_acq; @@ -135,7 +136,7 @@ struct hfs_state std::string psf_fgs1; std::string psf_fgs2; const char* input_file; - std::string catalouge; + std::string catalogue; struct stars* targets = new stars(); struct coord centroid; }; @@ -224,6 +225,8 @@ int search_star_id(struct stars*, const char*); int multiply_quaternion(double (&)[4], double (&)[4], double (&)[4]); int generate_shotnoise(double*, double*, double*, unsigned int); + +void apply_aberration(double* ,double*); /** * /class FGS * @brief The FGS class provides the main interface for the HFS. @@ -292,6 +295,7 @@ class FGS{ unsigned int iter_track; unsigned int iter_acq; unsigned int med_track; + unsigned int tolerance_track; unsigned int med_acq; unsigned int threshold_track; unsigned int threshold_acq; @@ -322,7 +326,7 @@ class FGS{ std::string psf_fgs1; std::string psf_fgs2; const char* input_file; - std::string catalouge; + std::string catalogue; struct stars* targets = new stars(); struct coord centroid; centroidError error; diff --git a/src/HFS_Wrapper.cpp b/src/HFS_Wrapper.cpp index 7af6b6a..96ae9b2 100644 --- a/src/HFS_Wrapper.cpp +++ b/src/HFS_Wrapper.cpp @@ -1,8 +1,8 @@ /** * @file HFS_Wrapper.cpp * @author Gerald Mösenlechner (gerald.moesenlechner@univie.ac.at) -* @date November, 2023 -* @version 1.0 +* @date January, 2024 +* @version 1.1 * * @copyright * This program is free software; you can redistribute it and/or modify it diff --git a/src/Star_catalogue.csv b/src/Star_catalogue.csv new file mode 100644 index 0000000..27da4fa --- /dev/null +++ b/src/Star_catalogue.csv @@ -0,0 +1,2214 @@ +Name,FGS1,FGS2,ra,dec +100550790,266724.441941553,334173.433726551,292.84732636406,-10.89048807784 +100788584,210942.571435448,347605.740712006,293.22134558444,-6.38156852855 +100799124,65032.3676639404,96438.8627151397,341.95254350547,34.4377584748 +101569425,25188.2729114966,39905.3096848039,107.94391923654,29.14080261282 +103444222,101415.403666224,128481.613840259,66.64432432755,74.9489373182 +10506521,1519739.19062531,1951440.31751505,28.62277705619,64.79315595999 +108191368,941320.336790133,1206601.36217073,111.9795806756,-25.313420776 +111058824,136513.392175341,205667.491546241,219.07652860971,-5.47104935277 +112331395,106498.568871026,141562.770457242,290.89830939579,-34.68555805733 +113910888,155098.522762267,241556.614500554,294.60708690759,-32.05862120552 +115183347,54392.2031920925,78293.5125472307,249.18116804654,46.60476967936 +11523423,17378.2359611627,31625.1063086498,146.40139657202,-28.36804620696 +115508162,118253.575018724,199237.735438825,253.34587487683,44.85223117692 +11569594,293955.246631391,450094.88801025,19.96612138019,-28.80852582981 +115853715,410556.232335338,539830.153564179,11.61853762943,38.83720022257 +116266435,117188.214872566,168874.245133877,221.0192255789,46.26177753598 +11652749,133764.05290995,189837.644848438,22.24400172083,-28.24532709319 +11801125,415410.554561393,538835.227635419,102.25599992724,54.1972376191 +118189044,330547.449804661,476335.878333131,30.46260055323,27.04400442943 +119738480,89979.8272547395,133323.981383046,225.27662812845,15.69988638279 +120579932,424572.667879693,557330.846048226,3.93308063189,-36.09332188105 +120933166,16315.118258769,25387.2879569524,53.65318264482,-22.2232248052 +120977978,74548.1092509209,112312.223351748,54.86464456654,-19.79214532875 +122068964,136675.151765849,183932.373994319,289.66681511511,40.85507251644 +124711673,54470.8236110949,69114.2669695589,104.69162894811,-11.29443026742 +125884499,54933.0089965692,264904.215050185,69.55439166864,28.21639786419 +12696393,205205.653759793,291227.407005174,298.47871060548,29.38294978188 +129115451,298001.513502571,411677.795145749,220.44303209459,-46.78051193709 +129577681,192317.307275812,246515.786872,357.27636239905,24.42692115411 +130706946,157308.677436543,217452.610370167,186.2762269476,-33.84127281888 +13092656,45848.2247221914,64199.2865452462,76.19012866997,-28.43781498609 +133437950,26325.8945326779,42514.4031843294,149.82317510709,-49.86877286835 +134290926,77404.7302593836,99218.7773487078,107.19136811145,-43.45071242655 +135830430,90144.9940006423,127829.501922995,245.102546678,-10.9036407647 +138183666,324011.499695672,441969.949810509,211.78723312933,32.60339950115 +13883077,15792.7241534562,24574.4118913684,73.76223889003,-38.0181575438 +140213863,230628.985080829,380858.017845306,84.90384303372,-33.22240196025 +14197599,187932.878688358,270515.336736875,104.0401279731,58.5643225536 +142678745,43243.0060121443,62213.3277281828,255.67190190359,12.25959473091 +142945757,94243.4436628905,133641.280982761,180.35435074807,67.01430841447 +143169402,87197.4918576897,118822.136376304,90.0499218773,-30.54073007737 +144309685,240586.050415213,336882.243288918,170.29500477026,31.54745388278 +144644879,39079.5642684119,56223.4211914087,229.81010710943,-42.66631043939 +144915835,404707.998630593,544693.446942948,192.95122563921,-36.06698685541 +144992248,71575.7523839818,92841.9760010022,131.51745722979,-52.11341123297 +146346698,857933.728423015,1101640.65256947,74.44853358592,-18.47231846018 +146613712,14108.8148368088,21954.1493986438,149.47941015338,-4.43624548182 +147027804,113850.811295766,157379.470562237,161.70554152376,-44.00966763735 +147349902,278279.689155343,394612.641856024,326.30237879338,-43.41694898814 +147625771,169090.456666196,243393.076603868,184.32614938023,64.72306363202 +147663573,270071.517742946,338841.170517893,164.01198008993,-45.2739422496 +147976204,77968.9982714438,103639.959752165,99.68773853976,-36.63476683534 +149120404,213310.707439875,302926.713143031,80.82107771507,-61.88009852896 +149697410,285674.042054713,389486.549722281,129.93326806785,-2.20210591211 +151789862,326203.133489097,433445.20188695,167.87362746877,-36.48222124578 +152539368,162669.475745527,281130.00223472,64.00012899688,-46.24961557062 +152690541,327482.118267661,410295.445320476,304.29408851296,-31.62516049446 +152820605,271852.659374511,431205.032993238,344.08859758186,-36.93632091796 +153077195,23141.8821745562,36010.1357573295,49.57640246625,-42.80682896808 +15324246,57394.6887269138,86377.2238365683,322.64353256762,27.50423742343 +153540510,58513.2828526861,72472.843464662,93.46559185126,9.0934079536 +153990952,1336105.0071089,1951782.54569585,204.50262224478,66.88651166685 +154858209,501258.246788745,701890.248705595,259.96023092292,-30.03054078279 +155940660,102849.248068504,136711.926092168,5.46984326164,-53.19636044595 +156692936,44241.1293446532,67678.7203390244,216.69507997705,27.99740736499 +157343567,118845.524495951,154156.30250066,106.12225197449,-37.32051201728 +158070580,31547.2103174218,47477.5717848256,90.27989171903,-43.4637327665 +158703520,158297.614564927,231241.197016792,269.20464106906,27.78692768515 +159953133,13649346.0992802,17920547.7674799,292.40819914459,-12.64683114445 +159976104,1514870.30664201,2066368.49027581,269.88220386947,41.73253023415 +160189951,485479.26803513,615046.208712083,256.20374384619,84.1190756544 +161722484,190830.249419443,256836.995717624,236.46136392439,57.39109790281 +161727542,99779.1731781342,143624.664138423,237.22106992774,57.69753398582 +162329616,357428.659483995,452820.867087628,331.85675931103,30.27617908732 +163450148,38997.9401971977,54608.3329347606,173.85398399253,-47.74754806173 +164464070,95127.9751286329,136859.770573142,283.37488947362,43.78837490692 +164677569,122528.004386849,211242.954357438,284.34915393031,44.90263774243 +164725982,214358.222324343,304216.710465589,284.56518727023,45.27537752235 +165191661,5174897.39592627,7148924.63956836,47.96955417817,-39.02334615391 +165557886,15408.1073914319,98343.8021231442,180.96173728763,-40.39444479501 +166235533,85214.1440865053,107956.487610428,206.4037685061,-40.76196999188 +166346096,97802.4949946558,140779.383457508,297.91728622084,-49.05132790856 +166802825,386220.173702095,564801.29538261,39.13093140576,-53.68683136538 +167020210,1574940.11457862,2042837.55721822,318.61089171383,36.32192637668 +167339916,58532.586006271,106518.248722345,98.36904041202,-67.96622924309 +1683060,125962.434783053,163387.753264132,132.43587265119,-28.50773038886 +168314172,169599.521060466,231231.134226761,154.53408299422,-24.59283147206 +168784942,887019.024762846,1241585.33826819,63.01537490147,-34.34009365624 +169675780,74141.7898157464,98552.659256037,276.19220464047,5.5677624909 +169903854,75850.7523640176,96094.1506617515,120.69193200221,-11.89413494319 +171629560,6785.93413957372,26090.7873613813,158.38489362283,21.48280779319 +171655448,148390.198833725,231564.138909564,204.23496856098,17.28981294302 +172298489,937189.071708463,1262691.51551014,98.57979318737,31.01080889895 +172621936,487500.163154028,789928.518599403,100.86441927769,-26.01664235655 +172623939,428697.797900076,635731.554788253,100.92095413241,-27.85945353665 +173152591,54384.6923917252,70543.1958442923,257.07912514179,-56.56286925262 +17416749,804137.828836037,1082179.00912989,242.20099841974,35.69113165384 +175319102,1580408.96606275,2002195.79511865,152.13593948635,-4.14669793833 +175480096,337047.905566637,478337.635112733,212.89342509652,-0.65368614798 +175493503,285971.463315047,384886.839482048,218.93913458475,-2.45712172921 +1755665,32780.1614659998,56514.2491956436,78.59306781158,32.65530096657 +176783673,962449.432284257,1312198.70820485,142.73031226684,-21.0122743797 +179081800,4811211.57621027,6828060.73296978,64.89305686742,-28.78602406029 +179637675,491001.565209454,739730.062710024,80.58040104879,-67.85853638626 +180570797,776280.78353732,1133991.17721275,197.89642514006,38.96039981675 +180937237,395370.431675645,500888.713289052,130.10065910413,-37.78711763566 +181079658,320438.194226279,396885.389597518,130.30328278855,-40.14994477348 +181412841,81072.5572417722,103920.263956194,287.86758717466,3.94945416361 +182007233,84849.4097026644,111380.681481098,281.53770390812,-43.33965968939 +185615679,84647.17516533,113925.995754326,130.41240576346,-32.19992364047 +187064502,22080.8209117009,36386.3018549885,321.25631985543,-6.19856683158 +187413972,4216976.01078867,5825592.51849951,321.84692271892,-7.01620199837 +18846631,400838.307834878,539433.398591362,177.02450509622,37.26122855966 +18941118,183186.894720552,323966.163788953,119.25566003744,14.28368158311 +189589853,114668.758589498,158260.404241025,143.89688560361,-29.0387610996 +190057184,55032.1730357831,84263.5068408502,96.35105263619,46.25861770056 +190257497,1373878.27369408,1785105.36492339,132.73259458327,-41.03757389374 +190626077,168229.690477536,215639.846764614,235.65277909402,-48.41321263159 +191251222,95915.2470037694,121513.550408723,9.32693265131,46.27459679812 +192988913,753604.388993295,1040089.18146161,155.30710381639,-26.81622077039 +193061690,179823.337141809,225296.869732076,265.38385700114,-34.76726705305 +193220820,917733.416060979,1322501.05855283,157.92571983733,-23.92146916497 +193380428,176134.258677743,296757.123552333,242.50826201461,-1.29847987568 +193728601,47624.2614315,86455.03757423,267.89359396566,47.19333667356 +194423763,27940.2218056427,43476.6358059791,312.55141656171,38.76897793065 +195929018,625495.559839333,783670.208536335,310.80709774014,45.1157069572 +196397320,382385.946902372,502043.511572432,14.94518760801,45.14824607346 +197759519,71244.7060560983,101028.075916637,331.58814052516,-40.23991659927 +198033349,75233.533812735,117171.700498572,60.99108658965,-58.95816424485 +199496312,647720.690457263,962372.933139211,198.5472758161,21.14332070303 +199957319,42249.9317809461,69676.6845331718,85.8338350716,1.86232467967 +200700661,14399.0412289433,79040.5424808852,47.25194226674,-49.41376749807 +201307068,69816.0562938163,106900.116780334,3.87473159571,-55.20332389038 +201563847,71869.4508784986,104895.593812545,284.93631891791,-55.53662831305 +201977462,110767.502637304,145403.014571987,3.46934770258,51.60236716946 +20233557,40263.5908534627,61650.3250473089,90.58033174935,-38.08140426106 +20440708,32804.7873349302,43605.6243801492,127.41440076747,12.81336075774 +205236947,73440.8847455261,97620.984547857,249.07127284748,-29.07678880959 +206923242,49594.9413322636,67650.2955190256,242.70948118846,-55.35004056589 +207147439,90795.4234917931,127088.894414724,45.48046704148,-57.25643018102 +207341633,2354701.34585339,3090984.86494963,191.70192784441,43.1516987373 +213006022,306916.638083476,469511.643347088,10.23335418859,-3.73549235043 +213041411,254864.775363261,343020.581354228,75.18018079962,-5.87513359866 +21402602,462853.655524397,697323.160125594,134.52149557723,41.62306817967 +217288087,78278.3158986919,96953.236153667,260.16246145996,-43.95237436921 +21858919,56155.5249621305,77625.504761584,257.05926917214,35.72443459667 +218966826,79167.4068001038,117303.113097377,348.49989096163,-32.30653981316 +219121412,7905.89114813035,38124.6890583382,340.50298087975,-59.25349560259 +219252797,47314.9298024662,66254.5106286078,65.79197422335,-53.00425946968 +219488640,157156.511627294,233053.10627618,243.22405058622,44.28808555481 +219503785,4385965.57033309,5979803.38376015,246.20029185506,44.68995926831 +21960306,605883.500633433,1022014.51175606,257.7621677752,32.30539196498 +219890172,66447.1419760568,109496.190175007,208.59749183151,-18.30218845452 +219975483,18572.4273856908,31291.4713855201,306.42543874488,-58.27795529271 +219986559,162949.777961862,228171.528839816,29.89129672663,-53.41263894835 +22011482,2672865.93996201,3552895.68989606,147.51739507302,-29.90577973428 +221589704,422503.791448671,576039.540944019,248.53558580189,-59.73600701524 +223509700,308101.630932653,409542.784380298,286.12211543729,7.25598954842 +224774596,1594321.5092057,2635613.34390998,246.71412632905,-42.97361682118 +22598327,9059188.25874738,12680399.1776609,108.06219736367,-38.17464210559 +22875394,40502.3879860863,57434.1388750335,39.32662841432,25.1272217864 +228969128,717783.483177292,1004701.62017296,195.07616820735,-27.40311470596 +22939756,67094.5332178261,96528.3075009425,109.11507946712,-36.57123949154 +229436921,2015918.1511991,2747048.07591192,293.34444050253,62.05294743099 +230081514,775661.694782322,1031045.01363284,245.98870896697,66.72593589808 +230168893,44708.1792618993,77078.6069879368,318.16678934965,17.93988659764 +230222180,46180.0388692709,144232.138683647,245.50466262807,22.83967569174 +230270908,336462.380574456,441749.379634126,271.96917254736,20.39776778838 +231268312,54937.3805457687,77967.0078329606,334.71175073767,-52.11581359996 +231293910,1607643.09083637,2348445.45442743,44.71383876037,-52.09599392597 +231400175,60066.6597233184,74484.362308007,115.17442905759,-21.5572506047 +231842240,395612.87121919,539093.105385737,25.49042833486,-60.4384567449 +231930323,544043.374473382,742105.831712957,93.21410137774,-43.39375471092 +23272614,58515.2102317677,79818.045043595,167.24273338577,-33.71837964708 +233729994,145508.637297101,226420.037265538,277.30176215967,60.115189847 +234278946,584690.111399593,947411.770755546,333.94266256022,-65.49309820899 +23572402,58802.949682145,85824.6482981827,275.68870971186,30.25133483571 +236388729,38895.4558922367,59555.4803748966,244.549654336,27.98926189383 +236397733,70959.5971413319,105228.567345141,245.10860990333,24.36305240509 +237407919,48002.1133821438,63806.6054925787,96.21891966627,-38.8688084651 +23748129,8642.16705434245,29943.060269768,208.44433446307,38.07215105889 +237604391,46661.0977206725,71445.9829805128,103.34424786152,2.33083215972 +237851354,115750.133014023,143364.734756071,104.92870196372,0.19651696008 +238189792,18172.761924748,28790.7669683205,55.65040801669,-73.30665585253 +240787309,131936.797842066,189816.296894727,11.79105896895,49.70423763411 +241010599,14525.8609891311,23013.0500783837,328.10685001165,-1.27579698569 +241991786,119488.889238353,162910.549868881,93.2265653771,-5.09738241862 +242486094,109254.411987858,150930.829172679,214.53788470892,-44.7835591015 +242856918,57917.8003615576,82129.9469657941,295.40727957224,-8.31730443112 +246970602,538527.917353646,855370.858785971,35.51629260663,20.66849325877 +249895874,49248.6686474585,75339.1003647586,38.54188286145,51.22222652545 +250297835,1328902.95220686,1811819.59303591,339.81838033409,-0.7158287503 +25155664,12513159.8632388,15504030.0209738,63.31322058743,-70.42017297602 +251845156,33636.0779075476,214685.665754666,6.96039943159,-32.5569007727 +251850982,271268.170570812,396268.6148825,7.94433196262,-30.91823508121 +252085764,685038.480212136,868023.863243838,354.2380401532,55.67597532075 +25228605,299687.799587959,444050.314302026,327.02125290874,-20.23515519499 +252475665,9090165.89428409,12728566.2085726,155.06091334106,53.77958926681 +253045974,68484.0004793146,97192.3407235507,176.83672008389,45.50996939104 +25398947,2555538.91020273,3980098.04502367,22.62740492972,-14.07320202182 +254291947,184096.587262892,261269.465572893,353.76828229635,-26.64044979985 +255539185,110226.790320046,144693.229349104,240.51787890166,-43.22415225405 +255638124,35417.1218900531,55111.1341533942,98.15287243922,-52.03981662129 +256373151,456948.778334755,578901.375028743,298.50160462659,62.99560071191 +256561056,514052.318054908,814403.478581377,300.03455132652,61.17489046756 +257657213,398874.284948315,544087.010077879,71.66691702928,-38.47531876408 +258195434,37214.2397235537,57958.9387196258,252.20947587078,26.92580931419 +258276385,204088.54803169,312208.390775555,283.03870331812,36.36035217984 +258814849,72424.4519610735,110894.009229711,222.60524999031,-71.67261818096 +259702141,14610.9874550309,37255.3053563604,74.41855339373,-50.65634732197 +260384178,103469.969095229,151148.958687488,75.35491943611,46.95720164005 +260820752,42527.9595457977,66234.7375258871,348.0015491568,-70.51682352378 +265619313,470923.336224408,642365.97246226,94.83954934628,0.30097107959 +265885865,53896.7211042968,118092.463460337,313.97836180065,21.4799326098 +265998891,152329.805552518,213300.839797332,95.14144229401,1.67970475381 +267606903,172098.096430328,244399.877451436,114.37788753416,-49.40079497824 +270415161,658604.043673841,886410.221766154,135.01580666571,3.6534798135 +270737039,54290.1196177054,80442.1958765731,132.05141292458,-43.26442041352 +270794015,155768.865947505,212374.487614575,251.25457253326,5.83685332816 +271006000,464789.949896055,679700.29201272,252.3019591093,3.82113121619 +271810393,239724.146426935,340215.97556587,112.45418425694,-72.12703245016 +272651401,141967.92476028,201480.562432868,233.47108909648,66.71869935639 +273591879,188826.43565113,247869.929045942,188.96534237579,-59.71966687234 +273849585,3352664.89696394,4348704.86112898,34.41278278361,-62.73921807036 +274233229,56104.2186700211,88990.9313964399,115.45155117308,1.23909028926 +274318544,230360.335791124,291839.963628065,94.02946778413,8.68736604197 +27576558,1012133.55073872,1362091.97202167,277.80523048928,31.0555760707 +276229915,140520.159444231,196768.639944922,56.22827111677,68.37293714397 +276540182,60932.0438809468,85322.3868460034,328.5794225673,36.66783970566 +277168455,181847.714103211,233095.673854842,310.13018909596,57.50258186133 +278805095,17627054.032967,23138797.4199785,336.16429836769,-41.440484777 +27897593,86841.4525192026,137581.289312283,279.0402756424,30.71005390037 +279225873,3479.75415518459,19101.3868101072,52.1092919063,-5.62684485284 +279433765,160079.845341486,234097.827880862,58.08888507561,-17.73637605959 +281746741,342621.208846476,670266.820989931,163.16424127606,0.48359855185 +281814965,43543.7138256698,70319.9278986417,14.29705471267,-59.83393110438 +283174405,195857.871777465,260247.821451536,254.38941022563,1.69052568369 +283981447,102155.708309138,137490.598106964,270.66300209473,11.93975766682 +283986106,41732.2842958835,62805.7917830815,29.34906770599,32.83652311049 +284043560,554165.227399552,808820.579529823,167.18985439068,29.02126224758 +284708676,38847.3466266556,56698.8540557574,224.08853479838,30.11812209963 +285652055,48188.5983942709,73717.4372977043,233.94050614343,-57.37561295341 +286580535,3894.49010975504,24856.9765992115,268.89064380304,16.81435850733 +286853222,5370536.97879633,6728632.62714801,150.46349634659,-38.92070891656 +287224438,192023.001903168,299653.490128073,111.01979106041,60.36708971659 +288426012,429278.124104286,617913.783430844,320.76862090689,7.38912559037 +289218489,826915.287632491,1191627.46310255,314.84160895487,18.07178378133 +289374329,668342.213601777,846867.74075071,278.16295639717,38.37875396237 +290190959,55758.8646505204,73315.9406955042,307.10537295396,49.97887406936 +290244882,1056810.63706217,1520424.0500503,234.16956828643,-42.13073839877 +29068958,39621.675998438,56185.2507947798,117.81723602031,47.40659337601 +290952048,179595.421998668,251479.703427291,250.71010594246,-54.47903354898 +290987402,52421.3713091681,66411.8286971735,105.20727587686,1.21353089696 +291057788,477685.755369029,687592.953105856,170.68691120293,11.58397052044 +291509053,79124.4303917924,236302.044937375,255.16104263008,6.31165679975 +292207462,1383719.79881213,2444864.28551678,231.02706059183,-28.1018840444 +292398116,730054.467901676,936133.134738056,31.99715578978,46.58261809472 +292644903,267191.119841204,343090.135051027,107.16605209024,5.12279261895 +29323830,94033.3602104059,141517.287204034,238.04853565742,36.83606623922 +293895431,151576.453134427,215116.964513727,263.40186334543,-70.07251426201 +294873381,104050.900258021,161909.348471686,71.92010069713,-66.00652790296 +296883172,233006.284643808,317679.594123495,158.76681909849,-13.22607457644 +297028903,869531.160762404,1185514.40667921,312.08543351311,47.37321150608 +299003882,36315.5097034491,61183.9888867617,70.75983512177,-2.77786532976 +29928623,608712.70907537,852372.875857654,24.80934651575,-17.60001075712 +299438209,391091.788779459,526367.494066472,26.63971766953,49.42532728487 +301057374,420929.847691054,559314.134376212,67.88243753988,-45.00135698954 +303553151,104360.166674651,162534.678760955,256.91027315774,-65.74067384953 +305568030,589255.006289056,861715.706138106,163.57925483652,-17.06974904694 +307032089,47853.4835209059,59954.6213632519,98.42942458682,11.93836792324 +307320587,17155.956176275,27179.8607223955,267.98538136041,-62.99686854816 +307770775,32387.7069853887,46595.9057869893,138.05946625064,-15.13868341943 +307776228,18415.7322426066,29175.7003477115,112.99709836301,46.5932846056 +307945215,76581.6162203799,107233.92583106,99.39270614322,12.94278331922 +309305474,4143854.27373103,5971507.16700326,80.50400366214,48.75901753144 +30955603,94556.0602534439,128917.255879962,201.05982497921,-38.2379361201 +309895669,73918.9128088418,97032.365287553,249.34950872062,-75.42734181454 +310510023,1207806.00589918,1605471.00477407,252.79274210407,-75.63474965825 +310599284,1372083.4293261,1823836.07194108,152.63860564336,-51.69442186876 +311521283,102097.360586905,142962.51987375,264.55744258788,26.44958555847 +31305113,236445.951432849,331085.042189925,82.91308041434,-24.75895271682 +31476020,1236697.8658508,1998812.55740058,83.94303168152,-29.08800942021 +314989959,19711.1732289936,30153.5471846337,336.20607802421,20.53332669037 +316957007,260739.976584827,370041.593321523,53.3137412301,57.98750108337 +316965103,130706.304539583,359094.453412046,53.50464173661,58.5978492485 +317475082,4955.94862029861,23899.1400716411,351.11465056749,73.96229415443 +31779227,219654.276587851,411192.882033475,49.746242246,-71.86531217135 +318339281,287072.930044229,731982.674337274,164.59925675889,48.28766011128 +319044134,132405.760855882,185402.062116687,249.499981194,7.79137802359 +319244836,16659.6379127683,25072.2376664729,351.48082839817,-55.61083878939 +320388843,78815.413848371,118741.232457299,249.74171605482,25.86428715674 +32052093,1621779.19505948,2533097.99613294,57.44506948344,-69.65629700593 +320708958,77634.2061469614,96155.4606491065,205.62203315021,-64.85878939605 +321106481,175280.334362514,230088.142595466,83.6430409387,67.60898480441 +321847708,321607.06004965,456720.485659861,274.90790592901,39.03285966696 +322077873,594496.877841274,843022.296733684,329.52911429138,10.38346532108 +328814963,782364.648105053,1014816.85971872,137.21604947253,86.83469708923 +329302300,1264459.18471011,1640148.8717325,212.08668060254,-48.26138015502 +329919244,71690.0952877985,109669.305366723,192.32418253426,-68.3694370403 +331552389,136026.670167161,174361.435747882,329.90179475931,71.2269680099 +331943891,142103.131392388,188820.750626317,148.61550796815,59.16875775284 +332331771,125960.540234743,157813.307006011,273.02398080969,-39.22326652941 +332752519,163726.065255055,254993.492935988,276.05943745083,-13.32945101794 +333538750,3054478.47805777,3916692.02628055,354.54273577643,40.5126746504 +333743292,180911.920561527,240476.403035359,224.45883981865,-45.25223840778 +333794492,11530.2021843972,49404.733078431,169.27513919867,-11.37435916898 +334782190,219481.949813894,325477.763657647,248.43923834476,38.01687210099 +334854821,18487.1163815686,47138.7145529443,259.11248460062,42.65644958478 +334898066,60493.9452753049,96085.5619035132,259.36178708646,47.40434220381 +334968591,262264.051283295,324832.594744843,186.45139523831,-14.07851446782 +336728841,36337.2128469183,56542.8500899403,6.71442441023,17.43003293525 +336833921,177156.793091562,224437.215181062,281.81303750516,24.09598345678 +33754579,543317.435025217,696434.071248561,283.68779567592,-10.73825497892 +338150022,460435.692830584,1375073.35203137,156.02745435113,-63.9997332891 +339393298,207128.652257927,279068.120278816,85.98128539581,60.62725278468 +339861887,212765.433203308,315256.602255611,111.47657111253,-59.6407405204 +340558735,197150.489641723,246915.442232064,116.07493549248,-59.88727803918 +343567745,91182.572978253,118475.198176953,310.80376734486,61.56053005953 +344028344,1159578.85677864,1560518.42547519,107.88223523489,-53.1681917573 +345471366,32623.1847645141,47614.5053010937,300.93343037276,5.49496130034 +345537938,56809.5465424981,78529.5792384967,69.69487752019,7.070365549 +34651613,102115.888324411,159039.350695302,95.82643488108,-15.44577479538 +347334021,1212029.49002736,2042069.43776618,190.40458971046,19.85129213316 +347707523,587393.221708217,989633.925479926,258.34567759365,1.46602607607 +347758739,371180.709162625,465044.489745891,33.41790721293,58.75818950451 +348933214,74413.8774176511,98914.3305779307,282.50240445356,21.96744503028 +349133132,2427810.32538018,3350749.12862694,205.00868814163,-19.22752258609 +350094259,390788.128017058,563145.792301992,115.11456720781,-64.19865123551 +351242989,63726.4403799474,107365.636576636,223.78763702246,18.25093323109 +352081415,37144.9477306598,61210.0108180605,284.54257859145,-74.21265326311 +353102269,76734.122547134,100727.853217627,324.49417601678,4.12724660741 +353135214,26942.4815736746,46449.8663042327,338.09058565194,31.73265566853 +353632068,30727.6389909347,39857.278952859,96.79768050166,36.38162612555 +353758058,42093.2848963608,85685.1208431624,99.47881296308,40.58379204902 +354153863,28905.6328961257,44218.9489715177,21.06764660996,49.34611103096 +358168697,49758.6199554902,213206.264633896,139.10174477781,-62.06820144788 +359190770,315159.638371294,460883.67005369,201.1571847603,-59.15814929622 +359675849,2647539.56888488,3757382.24692813,280.70710312661,57.86527395931 +362889717,423921.091140438,537059.106431468,303.43996680611,20.35835231919 +363823958,46786.1825827236,69323.5394671589,266.23158570256,22.60516987861 +36470588,2309598.5467288,3322798.8563285,118.99270811258,-9.79731385957 +364775266,728042.545193147,922345.89481346,292.16767717593,-8.78162391007 +364872760,108670.945544077,134596.65976112,271.55988020171,-49.28258400511 +366036237,18064702.9326631,26417490.0616894,353.87319381965,31.01830538917 +366637767,815193.851751911,1010039.84311265,332.80778054781,77.32036544603 +368233230,119800.190313853,151773.017036449,357.54119375931,66.28005755483 +36892850,41337.4206540418,56386.5718922184,156.66360745834,-6.86513371302 +36982271,224507.657939489,328315.878909786,230.65461540215,-8.19534179928 +369906986,1187076.34245884,1662248.30192291,20.53632126696,56.45760706804 +370140658,271246.834971595,360421.551603728,73.66777110117,-75.32234202396 +371703596,87097.7291807928,1219\item set \verb{mult_shift_x{ to -1 +59.184087046,156.66075716491,76.51746436952 +372222012,77507.1676122845,109908.517392378,313.47281343894,-67.98924088907 +372420452,363083.043630608,482626.594700928,317.87284509936,-66.3093536007 +372442556,462566.480892961,696148.189977223,318.21089278901,-69.26836423059 +372602472,84433.3973029978,110834.588136395,151.88065214602,-66.54607000066 +37441978,260706.846909088,360156.6276958,92.5305123284,-28.02529405386 +376161786,1825585.28887777,2372016.61863611,338.10240714676,66.66598563854 +376539431,56685.5100589489,85309.9321795984,84.07750029749,75.3987175944 +37661754,172776.541434343,256849.554565277,93.60818303706,-28.92161002557 +376871173,170289.532899066,235248.535012542,283.65722554019,72.53880528278 +377560051,377205.545903081,514009.839924736,264.41892221289,15.18505938108 +37774136,810967.80316623,1053705.41898537,5.49005754678,-9.90446700414 +378163077,263395.96244469,326618.468409054,303.477555757,42.58265602772 +379099941,91872.8270799036,123781.89506527,205.60620811337,9.3672311413 +379234262,156128.072962031,257828.079450515,282.80543081041,-59.04735991006 +380332478,60772.8379418578,81880.3265953588,257.46167232973,-67.05100748101 +38138973,47460.9783390855,71427.2983639601,170.62239039249,-5.59024856483 +382327103,146090.411027958,235925.378965218,52.46145615743,-8.87377694428 +382463166,2449912.49386827,3430582.13877678,353.0191476123,-43.58995863893 +383627847,63670.9433708919,94419.9569572597,211.95941192065,-86.30822892227 +383730187,130632.807248893,163667.092411731,222.34131959693,-84.710557408 +383818404,58848.2286385981,73729.7055707603,222.02705909013,-46.57355334409 +384388709,141591.988298731,183661.080516374,249.89502005264,-78.71713822527 +384949259,19800.8007366505,34137.3360439287,137.1616927027,-58.04030281881 +38579332,39031.4553401211,76356.8887773077,180.32310876964,-18.13093361552 +38630296,1598737.46450489,2238692.27914852,57.51867333293,-11.14029131805 +386403905,297499.751021157,448651.093443948,139.46345706443,-56.28087532068 +38688434,776432.368610028,1059097.52033372,58.03411408515,-6.24411646371 +387241527,1570597.18405062,2264259.88147296,310.29735783462,-62.69638262063 +387580659,2381263.38791223,2949363.29987739,318.45299833416,48.64325787631 +387609425,159971.231939837,244719.075565338,44.94155022961,6.67477424956 +38836078,859350.641289757,1447863.84653809,8.12082010431,-68.00713406546 +388940910,1369397.19537376,1971144.94842998,208.7010104217,5.92680622952 +3898497,55532.2317969951,129564.338851086,11.41219968358,-9.90599151901 +389853296,519519.234521093,690568.738582635,191.30719880867,38.77274931184 +392996381,509796.607803341,638713.429284772,218.48445717298,-61.45442432099 +393012524,21724.9918011349,64880.8461190775,208.33822083732,5.98430391437 +393910201,1720809.88469649,2844714.48239391,200.59984549294,47.47777691153 +394045029,3028711.57976858,4077929.17435268,334.5862809725,-64.55754656368 +394680248,60266.9062525868,97326.6660251987,54.26910024916,-82.23645721045 +394724489,70349.7305706981,95960.9980480879,160.07356519882,-81.8333828727 +395282599,124090.94913159,173759.19059126,302.58379816616,18.19315819411 +3958932,19778.6980155173,32592.7048444029,12.5272598487,-6.74704288252 +396293813,512891.421639272,643491.510320637,313.76456161917,3.43495493892 +396349389,541811.932340394,695720.462621169,2.64625339936,55.67988978654 +396352231,9956.19203203828,29733.7816515095,2.56080680641,56.92818357024 +396718866,86202.9451287672,117585.676511758,47.08039655908,73.75342815835 +398734243,1205582.91744108,1689448.24725705,32.35641791697,-10.18169211353 +399407154,115750.194519122,164138.784374802,304.27893490357,5.89227189277 +400097481,8024379.29178419,12522110.6069572,20.03498392935,30.56806851425 +40081742,24550.6009234391,40456.176123328,6.98989077009,-11.87874398427 +401381481,201268.400212709,252164.938755142,289.35141896964,13.89517614772 +403151606,7422812.81249063,9196998.52340278,334.3119690905,-54.32141936658 +404584079,1640482.69626505,2396417.56405802,335.97035102124,16.61250207769 +407497253,232162.260418186,375232.186054158,7.23084683294,74.16584231202 +407589087,430416.893012011,611243.463852846,151.59919546556,34.43199900539 +408133954,110100.986817557,177950.687608146,78.28268155136,11.54784111677 +408250276,32436.366686372,50517.6889538186,51.2772659908,-29.27451050137 +408421882,739361.337160182,970549.707656742,357.8364090333,7.33506215545 +409639778,176599.096629927,237683.393708116,268.31909202512,-51.79189037151 +409799386,48590.8648632874,65398.0792447125,292.41305285002,-61.36741391917 +41045392,587285.54513551,845353.660549282,255.66330061422,-10.871537966 +410980645,87506.2667139114,136285.74406871,178.2430620728,-70.52302639244 +411371194,60824.2985424384,81862.9655489187,337.89953044919,23.00779750468 +411413083,51255.7819750223,69915.7759393507,338.11139805019,23.71636141313 +412598738,89397.4592117884,123576.850586209,231.4373989664,-54.71789550575 +413100548,213064.910931322,263895.975942266,127.79949611082,-20.42744247501 +415732481,54531.7797545235,80800.265963705,141.79520048545,78.00496535596 +415972876,19176.755723817,45232.7862724767,15.58316384219,-17.01850409783 +416678208,219834.673962342,307824.988193997,52.90493263336,6.45868941491 +416967221,132026.865269286,180004.763680417,304.21912735583,47.33279066188 +417428418,297609.647092083,405759.495185967,323.53576256805,52.27305302754 +417707325,294357.833309325,365012.065708633,348.97647326853,76.77628333051 +417748248,106260.848061265,146795.334205287,348.96676047588,72.38365557517 +417843105,32141.6721899851,50014.3408202231,27.99080292182,36.89811759048 +418224503,66995.3606399142,97781.7151891119,322.69870661456,72.96841524502 +421435367,42213.9195596755,65687.3528065595,293.11236362851,-41.96679545815 +421883854,268707.060294555,371208.618529792,239.94972933145,-56.31456925495 +423002918,158755.446321091,222298.386549228,95.97654973379,54.82178374322 +424732094,79389.7740542884,119479.144385996,192.37691539265,19.24391267793 +424733375,42128.6826244591,69476.7256667233,199.05960703942,22.86333615884 +428468914,360974.43231646,468225.321176512,55.87891477199,52.22042881226 +428905003,857852.343579685,1201240.01532492,57.88284757555,49.78759084683 +429010339,2476193.61198141,3617224.28248193,58.43148769377,53.27274700022 +430194989,604034.772928339,783502.515518407,261.27806775959,-14.88084004946 +430882670,130704.900395845,211078.898498922,334.13578815766,48.98455459599 +431258564,127029.1408556,168852.946368956,242.20852372722,-54.21529447075 +432139615,118274.271406643,167854.582171256,137.4515867415,-18.15578609177 +435242045,136650.190826333,202643.537291656,352.32330421875,15.53312300524 +435822372,755193.026274973,935360.034601549,20.12769656727,81.72567378343 +435868942,57584.2660466755,91229.676439393,53.81960431064,-85.1480791521 +43602902,13788.8201222961,88008.5376108498,75.37178721048,-11.53677042301 +436247815,841488.25031506,1211259.45871984,84.31826343542,6.69644899556 +436750358,49331.1879418659,69953.7589918783,344.80698945863,29.45975254945 +43732320,435486.397373912,564875.902459671,265.34537548958,16.83905863286 +438512504,1326705.25848068,1661593.72170174,100.48541829485,16.1312957797 +438736856,660785.022382149,867403.63590681,201.45574062305,-50.07402800496 +441492869,136001.651076655,215721.988460516,23.0593001266,-19.30919823587 +441637779,735763.674281831,990163.594804311,124.40430932134,74.01189332958 +441742021,560296.297645255,774514.761740063,260.01425399517,73.93964510712 +444910849,237546.812002898,311880.801471008,100.11712146187,57.80470927098 +445082412,2810909.49010701,3989236.48670743,224.12454206315,17.10301365445 +44515169,98480.9250719385,134268.397323386,145.67849747863,-39.53201792098 +445392997,276189.594874412,391967.658815204,112.48609199379,-51.18042698679 +447319104,37572.6374323282,54838.3780629482,251.44418565129,-63.50496036814 +44739474,415213.217429153,551920.407160636,61.07334128082,-25.04848609321 +447863035,161147.925745514,228700.77646262,261.05949653006,8.20791882287 +448186640,1048404.94694518,1394441.09938855,158.30056381877,-48.12681752993 +450329942,107279.119776365,170396.797821767,164.34974738496,37.33517484473 +45271240,73845.4030627796,91462.7599111233,251.21890723079,-48.46413503348 +452789122,114371.946141347,156009.781409613,68.74326038335,4.73194992787 +453971320,235533.332441682,349280.943627593,154.6232334796,-66.62306179698 +455270228,589670.246623129,861390.454380222,146.11858907072,5.61167155282 +455431081,158730.129433542,201092.757779969,229.03544910832,-63.39099397698 +455767525,256203.809465285,336876.00121109,357.99193493238,37.52187220272 +456300564,53632.8474858247,73122.753966319,117.39362156809,70.71970917853 +456902979,124527.706768824,190970.821603306,21.9631941089,20.59044526732 +457227216,103907.329095999,227670.110369152,75.85875531463,5.09629116101 +457652326,104324.825706357,133725.44054716,217.9928500905,-50.43252680514 +457889084,13609.1748275218,26841.3113982711,211.7527817776,6.80059942696 +457926257,131796.855833076,285365.332527017,222.28558481195,7.33825310553 +459170245,296215.89380766,460929.433364446,67.36451050577,65.92919791522 +459930260,242431.569704631,322251.134620828,59.6948368767,3.52728714125 +462589093,410690.559051538,553330.698567742,239.74258912226,27.03379179848 +466584294,69929.409339852,88592.4924227787,166.50682304568,-65.10394666804 +467120792,538439.379066916,744356.601495829,90.7410172698,48.41689259731 +46743289,409655.188067556,526022.92324761,85.72074475241,-13.70290865213 +467749217,15429.6986750184,27287.4339044425,62.25380603495,33.28204732153 +469304547,151939.941521197,188188.374304179,148.82182978221,-55.786808007 +46954687,461411.703543345,598492.058633659,143.14205233495,-7.4738695236 +470241788,160444.819521711,224668.894678669,347.27981644447,81.1059103063 +470416214,536550.697582726,697150.210557937,65.6106219912,51.80886955701 +47678198,57596.2390423936,78564.5164508122,150.18193619289,-27.22522156432 +47881059,554860.595899003,786816.333629508,280.91121323349,49.69881705708 +48788704,41143.657825932,176292.78302105,301.95172015068,-31.76141198629 +48902446,43132.8851975811,61164.2975446569,163.27402180403,-35.35018847392 +50477502,63474.9651468815,85430.4773533787,112.39535460833,-15.56041563409 +50896067,167657.552891006,248419.819521505,127.07046481598,-9.19384744056 +52044764,204809.31466891,262622.578252797,98.64486603883,-30.26430588658 +53694359,758824.703644709,1076046.26739097,157.9557868054,-32.91440622479 +54905289,39943.4021776557,61104.1893425798,239.03380468689,-10.10946995628 +55Cnc,15745969.3279345,24946044.7958641,133.14676062083,28.32978300036 +56936642,30010.4137851661,41484.3157081613,140.54995351992,44.49327035471 +56938364,22410.3551754558,36929.3314075983,172.44152562086,44.64359649306 +57269920,6127011.63100914,8042845.98287642,252.97037118621,-49.11517125504 +57642173,247282.413426937,328699.098541269,274.71642605794,-39.91752587838 +58716586,192004.646900378,265247.142806289,203.16700948084,-27.48158304173 +6077288,1151981.05581273,1552084.58508138,200.09115058158,-18.17176274643 +61639855,83629.0503574631,115603.00191202,176.64438054933,-46.18596514884 +62732682,701845.845223745,890523.734419574,144.97115696712,-5.82218206611 +63281302,280203.539250769,472096.666174967,337.19983820474,-34.781829203 +63958788,12777.7542808009,81555.3075545866,36.77545837986,-21.16425423707 +66470401,94841.4730997997,127646.424826619,15.10459269285,-31.30359119512 +66471305,244439.279112669,380699.466398029,15.13216017907,-35.96109940759 +71299087,131816.942939547,189740.640271997,154.38556513315,-33.29755633941 +71597658,35803.2058083075,44344.8052488346,322.76562112856,-8.00692943175 +71976077,107526.230154649,142928.78563493,26.56962775164,57.48271826586 +72588367,91919.09037377,154864.316424316,31.45472550309,-27.04321981042 +72656464,39650.1834017259,49676.87939379,152.00958564053,-39.03589816448 +72752817,103659.187048874,137788.534536317,209.34327364335,-23.89369704723 +72811500,108525.050532407,160935.743968423,253.83990484968,40.48821098463 +72988213,121648.917593017,170339.719182421,189.30046981299,-44.52384179798 +7586796,420141.808350609,580409.983140485,63.59058059539,-36.98338132514 +7617322,50118.5440724152,81004.0820039964,272.70066246891,42.2859998281 +7718417,367062.830178625,528956.418657228,273.9531722664,44.03392168869 +77423462,71434.8276928883,105845.675946987,42.27916723519,32.12443918835 +81107226,53979.2693997431,69191.5994782871,125.37495955584,55.86916699744 +8287857,101917.582508526,151012.268668635,235.21214535566,-33.46574811493 +87651997,193373.593536821,247869.753833695,303.24446248312,16.45067793367 +8823379,85934.3850929822,123696.126585647,287.0708526904,22.49107367774 +88567891,14118.1623612994,21597.5308789453,107.107480838,65.1455832548 +89255850,266921.782425363,390341.51647067,58.6662725622,-26.28311179262 +89834070,38229.0175802678,69569.5898702058,204.18115698524,-59.2751952117 +90812697,120308.448271685,159919.494847721,277.31882024111,-43.87065778215 +91248261,157395.546202016,220310.948741759,278.00517905418,-46.69973876753 +9134886,655533.868124343,812880.596079625,67.57092272636,55.50311911678 +93515836,334580.011318912,496160.863224908,114.41080780558,-9.29101330739 +9477356,172479.032258318,297360.431745247,192.51346399167,-28.3724891004 +95431305,918400.544471594,4428815.74676013,154.89881370111,19.86980990545 +95752782,32387.3767693453,44178.20740723,135.54361966579,-7.60265653643 +95784600,32930.0934632615,42210.3866333723,135.80825456586,-10.0957801256 +96784659,208013.717953473,257639.717081063,74.13367292462,33.02745283996 +9905178,616145.315729963,830143.551623286,110.54408280458,41.10936999486 +CoRoT-11,35150.3707919819,46752.0892020296,280.68730005767,5.93765777571 +CoRoT-19,22011.7842732141,30408.4457221398,97.03359894654,-0.17073013075 +CoRoT-2,41764.8428034388,61883.3718322814,291.77704522072,1.38366174327 +EPIC246851721,107374.702338067,146394.128768504,78.91982004524,16.27869737323 +GJ1132,53110.2216003883,256114.161888339,153.70885427338,-47.15487814715 +GJ1214,20594.2692660657,165591.963904093,258.83147998873,4.96057533834 +GJ3470,115960.520346831,419014.809425923,119.77347532186,15.39120115361 +GJ436,908827.605674727,2838502.35655439,175.55067547084,26.70295395359 +GJ9827,395685.36013923,866981.477445433,351.77182847413,-1.28531353557 +HAT-P-1,334733.09415146,468722.607635345,344.44536893936,38.67491310096 +HAT-P-11,668364.903906082,1152286.59662784,297.71020256826,48.08189581073 +HAT-P-12,36721.6397141467,66826.4464721418,209.38861950303,43.49330385068 +HAT-P-13,192312.752709237,285187.574025885,129.88237231341,47.35190397489 +HAT-P-14,392286.256851337,509704.764220032,260.11617230186,38.2421672552 +HAT-P-15,116166.493244875,172125.018396673,66.2481445206,39.46060068444 +HAT-P-16,140788.878555802,192043.967211232,9.57303026785,42.46309539733 +HAT-P-17,241588.259370695,382743.763773749,324.53596511793,30.48817049886 +HAT-P-18,36675.7182222719,63230.337724678,256.34637374628,33.01231999523 +HAT-P-19,32954.0736899628,54303.9991083961,9.5165786069,34.71139790315 +HAT-P-20,148720.841985031,270643.836701338,111.91642873573,24.33610522094 +HAT-P-21,75360.8371463659,111662.88242187,171.2749346008,41.02802258437 +HAT-P-22,489320.671912554,761411.876429913,155.68145370147,50.12872314718 +HAT-P-23,36375.9966273347,51582.7372880291,306.12390951515,16.76214539689 +HAT-P-24,79066.1748188142,105162.727115747,108.8251182638,14.26260625049 +HAT-P-25,33822.2823524628,50901.484557653,48.4354751119,25.19735288979 +HAT-P-26,91485.054098868,147741.701859254,213.15655609101,4.05939764185 +HAT-P-27,55303.3207165195,86055.2345858258,222.76731815666,5.9473622596 +HAT-P-28,30230.6996942108,44122.6027012342,13.00092024349,34.72840239417 +HAT-P-29,75129.864267509,103854.316584927,33.13108980256,51.7787756632 +HAT-P-3,104183.004379139,165055.186429603,206.09401017795,48.02856171443 +HAT-P-30,261744.789788693,352653.415738345,123.94984068652,5.83687022894 +HAT-P-31,75295.0741837448,104082.69089035,271.53767106072,26.42660420232 +HAT-P-32,91151.0953173617,126000.955319502,31.04275939879,46.68785164786 +HAT-P-33,118365.004415018,157336.179568755,113.18423829688,33.83502109508 +HAT-P-34,238478.130594181,313568.947135795,303.19543795825,18.10477574534 +HAT-P-36,40882.35057171,60575.7746895067,188.26620254385,44.91536839935 +HAT-P-37,15425.0867893205,23214.2765402306,284.29603837453,51.26912106289 +HAT-P-39,37715.2224728106,50132.7993524407,113.7582528046,17.83002713124 +HAT-P-4,114828.620577304,162964.522732367,229.99121630812,36.22954166641 +HAT-P-40,85300.1538126817,117838.929553042,335.51292167393,45.45734141047 +HAT-P-41,131206.035159891,174511.850392267,297.32265186773,4.67241137575 +HAT-P-42,45368.932182272,66274.9481166127,135.34435788705,6.09707821156 +HAT-P-43,14973.8968743971,22186.9678911427,128.92568723949,10.20658468585 +HAT-P-44,19934.8017390707,31019.7292673405,213.14385444822,47.01478411525 +HAT-P-45,104728.260946524,141102.250316808,274.37327068203,-3.38106009694 +HAT-P-46,111326.509882044,153890.049504788,270.44418245711,-2.97098065106 +HAT-P-49,264774.547917479,335438.799923892,305.44132799221,26.69267609751 +HAT-P-5,51870.2478413146,72633.2661666536,274.40553558489,36.62146246082 +HAT-P-50,53886.7610295366,72525.7860965828,118.06343883065,12.13934575313 +HAT-P-51,15393.5820972362,23548.6289673064,21.06512357488,32.81069773471 +HAT-P-52,13264.7052751236,21421.5333328689,42.72174358638,29.02224537064 +HAT-P-53,13323.7662098119,18657.104834247,21.87110121085,38.96811328575 +HAT-P-54,23404.2975007952,45785.6188579304,99.89799235245,25.48239594407 +HAT-P-55,18409.0668910239,26484.9606688142,264.27351074481,25.73114569169 +HAT-P-56,141414.285511417,183430.578691663,100.84801246998,27.252179209 +HAT-P-57,231726.85266525,290732.612104855,274.743417428,10.59719480088 +HAT-P-6,309310.56272721,401211.345226987,354.77408786461,42.46598700991 +HAT-P-65,20284.261419381,29197.6786928457,315.905490128,11.98936655352 +HAT-P-66,19296.4191428616,27019.9413925953,150.57262400109,53.95082167719 +HAT-P-67,241619.098602812,321171.161604721,256.6107298129,44.77688234995 +HAT-P-7,218187.57359379,293657.013791882,292.24718620019,47.9695440641 +HAT-P-8,247587.760399715,337559.905988259,343.04150590197,35.44717987044 +HAT-P-9,44741.0367437466,59508.2468122731,110.16851397513,37.14059288078 +HATS-1,52196.4300931579,74016.7965551284,175.52523684897,-23.35484519881 +HATS-11,14134.1371925729,19023.0288253387,289.40076063418,-22.39001198848 +HATS-13,11776.6878770835,17723.5495454981,316.96148038891,-26.09672191331 +HATS-2,16752.0586573249,26539.9733004801,176.73881941972,-22.56300991793 +HATS-22,20661.1317545112,35620.5795891814,174.00987327701,-29.54336557616 +HATS-24,29499.7431478715,39745.5290358757,268.89070713243,-61.7474024348 +HATS-25,21977.6417940093,32077.0196814775,207.90767167789,-23.78124217227 +HATS-26,25204.1704844096,34818.60635298,144.92685896472,-28.58560093425 +HATS-27,25311.112908621,33644.6893387791,193.55245751903,-46.58771581452 +HATS-29,36227.9310841997,52875.7394457894,285.09651807592,-54.89334604347 +HATS-3,56502.9255839348,75106.273666446,312.45748948972,-24.42869171594 +HATS-30,43456.3659202902,61623.0074057013,5.61851897601,-59.94258995386 +HATS-31,21564.5181707454,30195.8624385372,191.70282129203,-24.42739004652 +HATS-33,43563.7433622701,63582.5746657622,294.63369567727,-55.33027462115 +HATS-35,36918.6360565225,49688.5141524287,296.68844799946,-63.56565064761 +HATS-39,28815.4257182261,37376.918606969,112.41922538707,-29.93791712015 +HATS-4,15317.238494195,23431.8410393868,94.11209141777,-22.54688202798 +HATS-41,26951.5374937693,35825.2168851444,103.51735584041,-27.05041616518 +HATS-43,13988.7607522765,22590.8302554678,80.53824319207,-30.97081725465 +HATS-46,12224.9016950691,18398.0973797032,6.70264549646,-56.31610112385 +HATS-5,33397.9657697699,51969.2080866466,67.22284654555,-21.48205982004 +HATS-51,37635.2228166653,54173.0912280339,102.84742225894,-29.05865600286 +HATS-52,12987.8387989634,18186.7098920567,140.0875861511,-31.2692086597 +HATS-6,5824.81038540722,19044.4160828696,88.14680750022,-19.03162579997 +HATS-60,33886.4611617691,49501.3516612732,341.36403416624,-14.99177515713 +HATS-64,24124.5492798732,31292.3126815422,144.28760872427,-29.80044412177 +HATS-65,38698.9233151214,52139.7482833832,292.93978193913,-26.7402021548 +HATS-67,14018.1691776709,18214.0656375796,180.20878706282,-46.13641997522 +HATS-68,40544.3696487037,56010.5100374137,15.0060832427,-58.90472315716 +HATS-9,19373.3122556577,29187.3234067756,290.81017169588,-20.16637807533 +HD149026,1872914.26305313,2553521.87789648,247.62296892318,38.34754219061 +HD17156,1938525.52402879,2677999.54199224,42.43665247105,71.7530836226 +HD189733,3586823.38339061,5910615.3444045,300.18212180624,22.70974110517 +HD209458,3083840.02392598,4262886.67221487,330.79502626424,18.8842393829 +HD219134,23982894.4102105,42413767.1414343,23.22138193,53.16835662 +HD89345,624296.32011096,925791.714059742,154.67109851528,10.12884055705 +HD97658,3227201.45521088,5112794.93981649,168.63764182701,25.71060296527 +K2-107,33603.1960036345,46421.5415742919,284.98535399579,-22.29342129583 +K2-121,24243.0525099363,44117.7754808752,126.93666036517,17.57932470513 +K2-136,167745.3714889,315347.391796152,67.41287398556,22.88256246495 +K2-140,31791.7100092522,47106.0843505377,188.13731626879,-9.60761057154 +K2-141,186472.885344157,339345.422045781,350.91706256738,-1.18917924034 +K2-232,413923.27697501,564614.68493412,73.76680173698,18.65431629612 +K2-237,67479.8094957219,92046.2635189934,253.76884656878,-28.71058441059 +K2-238,44584.540444598,66116.0361225883,347.70431505098,-7.85756086388 +K2-24,178323.991299531,260269.151340766,242.57344664711,-24.9906110933 +K2-25,5791.89509975206,31793.4036671801,63.27395214949,15.24770011886 +K2-260,36850.702399469,48983.639671069,76.86733179408,16.86769402247 +K2-266,86400.2898467156,177698.000164859,157.93569349072,0.93726866682 +K2-28,3398.62611402152,18656.0512788006,335.62327885222,-7.95637953591 +K2-29,72185.7857485093,110427.597100838,62.67042446994,24.40165279873 +K2-30,24668.1522838236,37124.8029833688,52.34205731811,22.29934714177 +K2-31,144026.874731769,224114.326969285,245.44054694052,-23.54828644033 +K2-32,84132.9696959692,130915.872399136,252.42600550294,-19.543057889 +K2-34,82135.1222738531,113466.558615201,127.57872099903,22.23591964275 +KELT-1,193972.702416379,254625.364840854,0.36209766317,39.38379417761 +KELT-10,193858.492761513,274899.730014545,284.54838263642,-47.00330940895 +KELT-11,2371481.76488295,3636811.70871032,161.70689415478,-9.39937543394 +KELT-12,242081.544405459,325815.727647701,267.64049063092,36.57017449424 +KELT-14,126669.461965077,185038.783798265,108.30140689028,-42.40976246789 +KELT-15,171984.402563775,240822.322018342,117.41497544645,-52.12044734779 +KELT-16,63283.1335529932,86321.7612918133,314.26852356886,31.66101886227 +KELT-18,248829.440720723,318954.058605965,216.52381956465,59.44427436619 +KELT-2A,1082193.12487813,1475456.65783579,92.6640252882,30.95713303789 +KELT-3,426093.161630975,573475.578260761,148.64311423912,40.38794129639 +KELT-4A,306951.38642275,418495.974634524,157.06262215204,25.57313495887 +KELT-6,272887.449866858,372053.375192799,195.98183545376,30.64014724332 +KELT-7,1365641.92933053,1730110.74695914,78.29559292627,33.31794633424 +KELT-8,182360.171800336,262493.841061525,283.30544671894,24.12724385068 +KPS-1,31646.7112056476,50137.2929358789,165.16719072097,64.96384073874 +Kepler-12,26956.6481693812,38256.8149502116,286.2434465067,50.04036753869 +Kepler-444,1094506.27319442,1767547.94817139,289.75284986301,41.63179615254 +Kepler-447,45647.4005989822,68697.9203577393,285.26852718016,48.55988018678 +Kepler-5,22230.5868465624,29919.9794146051,299.40703409179,44.03503824705 +Kepler-6,19144.4161476514,28389.9507675541,296.83724772237,48.23997065301 +Kepler-7,22421.5868652921,31395.9785635753,288.58149231052,41.08973056538 +Kepler-854,15556.3884740424,21219.7908351466,293.35126718944,43.13463924173 +LHS1140,34576.7706296707,189801.991830196,11.24867790844,-15.27419133989 +NGTS-2,138546.934639623,181868.702510319,215.12275817115,-31.20206990717 +Qatar-1,41653.0094295279,68638.7062302048,303.38187389084,65.16233923856 +Qatar-2,24754.5821497777,45048.6627854027,207.6554804868,-6.80407348858 +Qatar-3,13486.393150761,18884.8294266674,359.15197027485,36.21295500386 +Qatar-4,17569.5142153609,27835.0528911917,4.85927519276,44.02759527096 +Qatar-5,32752.9578549114,47803.9127744619,7.0539375981,42.06134414126 +TRAPPIST-1,875.305317496529,22278.3862950839,346.62652162764,-5.04352831943 +TrES-1,86259.9321422472,136659.997661755,286.04087001232,36.632533133 +TrES-2,114808.798362532,165174.396042938,286.8085269792,49.31642128807 +TrES-3,48090.3168272002,71255.8878930367,268.02910631978,37.54633159012 +TrES-4,60104.8783075783,81946.6882982791,268.30433503423,37.21173673368 +TrES-5,15688.7127600133,24855.3343156,305.22194786719,59.4489075301 +WASP-1,70592.4614177527,96245.4063717795,5.16695281581,31.98997269093 +WASP-10,115193.352605212,203719.532900868,348.99304976351,31.4627472774 +WASP-100,193338.703094124,242229.987708798,68.95981944297,-64.02703904669 +WASP-101,244089.595613264,324653.718329607,98.3511012403,-23.48608247185 +WASP-103,46638.9444956424,64429.93418063,249.31485872223,7.18337615001 +WASP-104,149489.67368053,224977.31663834,160.60236437132,7.4350767322 +WASP-106,146160.766286031,204662.602240764,166.42962412075,-5.07948714461 +WASP-107,124211.374967942,242993.607924209,188.38641401351,-10.14621542333 +WASP-11,100684.785726679,169637.227570651,47.36894788933,30.67337557169 +WASP-113,88322.6684743574,125347.334082543,224.87286005601,46.96009848839 +WASP-114,42728.8785510656,60640.7289758818,327.66438278522,10.46342214887 +WASP-117,266999.064136122,373875.484896377,36.775824306,-50.28442125467 +WASP-118,171117.7852668,227457.590302975,19.55058642313,2.70278269014 +WASP-119,47124.3283806954,69824.5737370353,55.93364637887,-65.19377770049 +WASP-12,105512.192879525,142008.06611342,97.63664477033,29.67226537027 +WASP-120,111510.468738124,148224.817158601,62.61608182746,-45.89824431179 +WASP-121,181640.290424424,238436.772548215,107.60023051115,-39.09726684656 +WASP-123,141408.021077568,206389.199413993,289.47853844957,-32.86133200505 +WASP-124,26127.4843054864,36585.9928288784,332.71433724353,-30.74972095142 +WASP-126,122313.416293717,175971.223031898,63.37473092461,-69.22658520404 +WASP-127,672071.823011345,996639.748341749,160.55876726926,-3.83499645125 +WASP-129,59416.8656099643,84255.6864392339,176.29905398461,-42.06395766718 +WASP-13,393019.891759837,557772.954904109,140.10296506822,33.88232635913 +WASP-131,175627.423659705,245923.486903354,210.19357298871,-30.5836096821 +WASP-132,71432.4415961868,123152.254640532,217.60920221165,-46.15952613026 +WASP-133,31920.1977559387,46629.0333592368,314.57543964361,-35.79662367146 +WASP-135,39808.2752988116,58101.3579211838,267.28488174366,29.87904110213 +WASP-136,669131.082734561,900578.488025121,0.32576133519,-8.92624989686 +WASP-138,109099.098556171,146991.157567993,41.63916136793,-0.46413006087 +WASP-139,35205.1932278345,54781.3606931841,49.56217014617,-41.30202008157 +WASP-14,435271.209291712,572327.25768593,218.27662916582,21.8946865465 +WASP-140,67979.1808558851,105779.62194137,60.38553599887,-20.45099622986 +WASP-141,25644.0361532489,36364.3528517703,71.82443580521,-17.11517382019 +WASP-142,17873.8705193071,25028.0080360813,140.50631399232,-23.94609982165 +WASP-144,12599.3516954404,20347.035763158,320.76287528609,-40.04844499403 +WASP-145A,113894.613508272,191893.605117421,322.25379321308,-58.83614508765 +WASP-147,43681.4599378516,63809.8883347479,359.19151098006,-22.15323259021 +WASP-15,139192.501789339,187338.139900757,208.92801253851,-32.15971485103 +WASP-151,26176.8101958248,37119.8496831366,349.06346506134,0.30668797901 +WASP-153,71568.2497367021,101569.500534583,279.26247456878,40.01869049982 +WASP-157,44456.4799160413,63959.1419227449,201.6551481058,-8.31763651818 +WASP-158,40248.1765439916,53532.4749196896,4.14634710915,-10.97642285963 +WASP-159,41567.2339674326,57423.5582034127,68.13647917292,-38.96829648082 +WASP-16,103604.865943333,153512.333452794,214.68301084033,-20.27543500547 +WASP-160B,27370.4559147336,42590.0465816171,87.67956527299,-27.62332661387 +WASP-164,34712.5075656578,49940.5756385602,344.87359360141,-60.44781976542 +WASP-165,32608.0963595986,48355.7320015872,357.58065133747,-17.07759524149 +WASP-167,172717.083561863,213922.335798201,196.0437900172,-35.54952902278 +WASP-168,62817.3801209623,87962.3997232597,96.74464282055,-46.82136062376 +WASP-17,84421.5760466359,109690.510166745,239.9622465105,-28.06179545933 +WASP-172,93080.0984457365,116618.093925269,199.43373864508,-47.23757471071 +WASP-173A,93005.8916781923,133806.748291618,354.16871078451,-34.61130544227 +WASP-174,59038.6120332713,78524.8745329637,195.79401449703,-41.38486243569 +WASP-18,792916.873420966,1054626.72277846,24.35446693304,-45.6777908468 +WASP-19,53864.5820660116,81064.5230596152,148.41676021593,-45.65910531582 +WASP-2,78332.3803968863,124100.525901276,307.72555949993,6.42932372869 +WASP-20,193990.634000278,275311.074381563,5.16056925249,-23.93578851011 +WASP-21,90211.0485764647,129785.832452803,347.49280496402,18.39616223511 +WASP-22,71207.2317075435,99710.604862538,52.81803774092,-23.81979607388 +WASP-23,36237.278493729,57410.042891083,101.12750170009,-42.7622417133 +WASP-24,76060.9740783673,105141.417567662,227.21549518765,2.34328479527 +WASP-25,87283.0905063142,125573.405337817,195.35975351046,-27.52222820094 +WASP-26,122921.941437583,172122.279851489,4.60304633187,-15.26740782303 +WASP-28,37567.7623562652,51244.5455571575,353.61627256956,-1.57998350122 +WASP-29,223449.121266939,385234.810601579,357.87918738879,-39.90713389151 +WASP-3,209831.073116022,282709.140869506,278.63174017603,35.66142806337 +WASP-31,54756.9721320379,74691.5964448696,169.4388560447,-19.05477789942 +WASP-32,68426.0633057545,94587.4465006323,3.9617075334,1.20051445963 +WASP-34,228500.183580993,333502.790868618,165.39936119816,-23.86095477284 +WASP-35,133990.291153414,187624.946282039,76.08189413501,-6.22977855036 +WASP-36,20266.0220991103,28738.0962657253,131.58038913361,-8.02698660212 +WASP-37,34895.6238338503,50204.0232618044,221.943882714,1.0650252097 +WASP-38,910718.254286502,1242271.03079755,243.9597150085,10.03240488623 +WASP-39,47826.0446965297,73162.8139065133,217.32664509187,-3.44449930121 +WASP-4,39457.3088620905,59382.0245652846,353.56291675195,-42.06179163682 +WASP-41,85128.1685605783,128115.249933269,190.61880583955,-30.63981589857 +WASP-42,90037.3046361285,140103.364819238,192.98119362102,-42.07361580579 +WASP-43,85154.0046887834,160082.469621498,154.90818098459,-9.80644829653 +WASP-44,19961.2631353311,30536.1272188062,3.90327548043,-11.93826871686 +WASP-45,49657.3128007947,80192.9452005649,5.23776577184,-35.99847157995 +WASP-46,19453.0094730153,28823.7124808981,318.7370153035,-55.87186569126 +WASP-47,110912.06902207,166919.220061315,331.20309414396,-12.01907283535 +WASP-48,61395.7063453185,85969.7528398551,291.1623880477,55.47302333003 +WASP-49,118877.31112171,176141.663405607,91.08972726582,-16.96539267398 +WASP-5,48745.5199378497,71145.5315593692,359.34902908017,-41.27722246039 +WASP-50,44083.3061960008,67437.2874758566,43.68807437461,-10.89802294908 +WASP-52,72136.7267578024,118871.881721819,348.49479215734,8.76107306222 +WASP-53,35836.9794935078,56775.8568751624,31.90916263471,-20.66184185244 +WASP-54,310943.023846328,429556.001614742,205.45424410659,-0.12817462705 +WASP-55,44984.1140340336,63789.4202481209,203.75819687335,-17.50349655049 +WASP-56,51431.9793119226,76207.2616605956,183.36603462238,23.05568747466 +WASP-57,22184.6916156372,32871.2724872011,223.81997503357,-2.05768724912 +WASP-58,65885.7774295992,94789.2806668212,274.70125986777,45.17222589006 +WASP-6,29046.0515496472,44433.7571469336,348.1571247285,-22.67413002814 +WASP-61,48661.0278274926,66376.3846949177,75.29966378018,-26.05414330774 +WASP-62,330167.01585851,450366.420452728,87.139815721,-63.98832498849 +WASP-63,116209.534889274,172331.345500182,94.33635311315,-38.32338631709 +WASP-64,28808.912658206,44070.9892436612,101.11491919531,-32.85838790104 +WASP-65,38520.3756117846,57076.0132602331,133.32429852119,8.52301766219 +WASP-66,139853.393917677,181405.923226844,158.22503202357,-34.98990921507 +WASP-67,40626.0741470585,64363.1298213336,295.74384876234,-19.94973604902 +WASP-68,272832.966858043,387203.938396486,305.09572226728,-19.31472800102 +WASP-69,474987.322471152,840015.446585384,315.02597080789,-5.09487006422 +WASP-7,616590.447402244,819600.236370187,311.04276123778,-39.22549368743 +WASP-70A,95870.3793557571,139925.660926258,315.47719752806,-13.4333864025 +WASP-71,270580.932316038,378882.780947171,29.26345387291,0.75882376565 +WASP-72,155193.554903994,211590.11139301,41.04007915374,-30.16907956587 +WASP-73,245008.668274503,343075.044486241,319.9496996367,-58.1489343912 +WASP-74,762271.827642801,1067376.28320028,304.53884318871,-1.07601229288 +WASP-75,117209.299238059,162022.010128871,342.38590598498,-10.67546648648 +WASP-76,1097370.90982651,1496149.96373043,26.63294255818,2.70038349421 +WASP-77A,379674.983958139,580815.124691219,37.1555353583,-7.06066775421 +WASP-78,93686.7212864458,129424.654676251,63.75626615164,-22.11638917444 +WASP-79,298740.104428071,387500.24678208,66.37090159986,-30.60043580107 +WASP-8,448757.355497215,664928.11985735,359.90089232021,-35.03133382683 +WASP-80,80543.5918813243,189980.574781226,303.1667810972,-2.14444399129 +WASP-81,44121.8593406162,62566.7057731658,304.20799614419,3.29394699661 +WASP-82,721423.241955212,947002.609300664,72.66058935413,1.89383389914 +WASP-83,41405.5263721305,62314.0314319395,190.15195236869,-19.28435443818 +WASP-84,109143.727547363,169834.088027402,131.10699265673,1.85988898874 +WASP-85A,239863.479977026,331570.647623672,175.90802194771,6.56378575531 +WASP-88,82382.5130829968,109506.605654239,309.51123490689,-48.46208404818 +WASP-89,20382.7442888618,33588.0939140224,313.90002834767,-18.97141759942 +WASP-90,200052.447970634,265918.866534737,315.53194768088,7.0562799872 +WASP-92,35804.2584949262,48239.7147314312,246.69203834502,51.0411344231 +WASP-93,183375.041214261,235465.040507295,9.45874270048,51.2887783063 +WASP-94A,320367.764016607,436999.686997331,313.78324376267,-34.13575750621 +WASP-95,283865.717603867,414310.430236126,337.45784341161,-48.00309977059 +WASP-96,29400.3190277622,44246.5670742936,1.04657491105,-47.36063493404 +WASP-97,179343.515283824,265735.023650435,24.60516274398,-55.77199769303 +WASP-98,21316.5876399007,32080.8024233618,58.42901702035,-34.3282733287 +WASP-99,600619.539657552,818881.65913263,39.89766856621,-50.00819890986 +XO-1,98086.5177620446,141116.199562929,240.54927183235,28.1696268544 +XO-2N,140216.514671894,218185.181142031,117.02676263913,50.22512582327 +XO-3,319588.964508643,414543.612816102,65.46958069345,57.81721007633 +XO-4,122895.72734377,172085.573016364,110.38802395728,58.26811026231 +XO-5,60215.3911158306,90622.2934498613,116.71638297929,39.094466195 +XO-6,983995.450633648,1261303.08613684,94.79294684687,73.82756411441 +BKGR0,6049.87471602521,48645.1163661628,292.847333,-10.89045 +BKGR1,4.40297663830111,35.402933280637,292.843919,-10.888036 +BKGR2,61.7655596907493,496.637199877703,292.851605,-10.895941 +BKGR3,26591.7170587818,213815.530307442,293.221079,-6.381548 +BKGR4,2.8297390050699,22.7530303764593,293.220215,-6.374677 +BKGR5,171.295668465428,1377.33393113883,341.952515,34.43787 +BKGR6,33.1700694745372,266.709967594615,341.946152,34.429939 +BKGR7,130.841761145755,1052.05694253957,107.944059,29.14089 +BKGR8,530.574509377022,4266.18069977524,66.644279,74.948929 +BKGR9,491752.278815491,3954023.50447708,28.623381,64.793159 +BKGR10,3.72174300809089,29.9253505587436,28.641284,64.799355 +BKGR11,20358.5283521474,163696.444508308,111.979674,-25.313553 +BKGR12,3.37090397459286,27.1043655943613,111.978122,-25.316557 +BKGR13,4589.29929131279,36901.0944100563,219.076644,-5.471204 +BKGR14,1272.75959908622,10233.8547011065,290.898411,-34.685387 +BKGR15,1266.91179991658,10186.8344098697,294.607001,-32.058495 +BKGR16,131.143382555728,1054.48218426363,249.181293,46.604717 +BKGR17,109.331770524085,879.1019565372,146.401478,-28.368259 +BKGR18,6134.03685685843,49321.8373441381,253.345833,44.852177 +BKGR19,4515.92147031347,36311.0867142354,19.965928,-28.808451 +BKGR20,24702.8113143709,198627.44062714,11.618307,38.83728 +BKGR21,2268.53968547702,18240.605328401,221.019225,46.261719 +BKGR22,352.165153930892,2831.64787655819,22.244026,-28.245342 +BKGR23,19895.1116696026,159970.258511646,102.25613,54.197235 +BKGR24,223.741415412626,1799.03348408972,30.462575,27.044027 +BKGR25,1382.75864115185,11118.321975656,225.276706,15.699975 +BKGR27,33554.1607768152,269798.323465035,3.932775,-36.093304 +BKGR28,48.5005184608118,389.977226816937,53.653171,-22.223097 +BKGR29,167.782391805776,1349.08479211407,54.864678,-19.792084 +BKGR30,90.1044792707533,724.501429364811,289.666834,40.855213 +BKGR31,4.48483408557696,36.0611229515113,289.679593,40.857204 +BKGR32,110.089622152339,885.195600186889,104.691643,-11.294426 +BKGR33,588499.883421199,4731940.18954923,69.552331,28.216698 +BKGR34,8030.57016801114,64571.2578600626,298.478799,29.382929 +BKGR35,140522.666162623,1129898.0174676,298.482928,29.383444 +BKGR36,45367.6601673414,364786.910752889,298.478437,29.372646 +BKGR37,16.1341608057013,129.729650067757,298.467622,29.387613 +BKGR39,16245.9974656082,130628.893042287,220.442836,-46.780434 +BKGR40,1046.51722549822,8414.71180861106,357.276464,24.426895 +BKGR41,3370.90397459286,27104.3655943613,186.276289,-33.841286 +BKGR42,172.086333346663,1383.69141570828,76.190074,-28.437756 +BKGR43,140.522666162623,1129.89801746759,149.822962,-49.868668 +BKGR44,2.49313836132366,20.0465317706966,149.820437,-49.868542 +BKGR45,2.33209576961708,18.7516395652888,149.834209,-49.865295 +BKGR46,359.539310434041,2890.94112113527,107.191377,-43.450787 +BKGR47,1.68556840138759,13.5531188458225,107.188714,-43.446781 +BKGR48,784.777207367785,6310.14365847887,245.102641,-10.903593 +BKGR49,14.5460937119135,116.96050819281,245.102918,-10.901465 +BKGR50,18144.5574928739,145894.609737188,211.787309,32.60331 +BKGR51,27.780904475108,223.377407695602,73.762138,-38.018112 +BKGR52,1547.91240659694,12446.2708201347,84.903921,-33.222439 +BKGR53,146.806870598906,1180.42730450589,104.040089,58.564426 +BKGR54,222.201190342693,1786.64902469613,255.671961,12.259587 +BKGR55,8.37040325408394,67.3037475053927,255.667686,12.263463 +BKGR56,1158.10085207865,9311.92022272673,180.354276,67.014503 +BKGR57,32.7903748290394,263.656963841508,180.354691,67.01635 +BKGR58,696.219817626692,5598.08188344275,90.049924,-30.540836 +BKGR59,12.7275959908622,102.338547011065,90.058401,-30.534191 +BKGR60,10733.6240818753,86305.6537535241,170.295196,31.547348 +BKGR61,120.710870311682,970.597674926806,229.810253,-42.666199 +BKGR62,1.20710870311682,9.70597674926806,229.80683,-42.666615 +BKGR63,1.48165257847832,11.9134966387629,229.813227,-42.659721 +BKGR64,141.17128931899,1135.1133897522,229.815305,-42.659206 +BKGR65,27273.8458236719,219300.310522293,192.951044,-36.066631 +BKGR66,127.569361297804,1025.74461726471,192.957472,-36.071564 +BKGR67,735.77729352943,5916.15095243408,192.944768,-36.061626 +BKGR68,379.093537659201,3048.17043636368,131.517565,-52.113438 +BKGR69,131143.382555728,1054482.18426363,74.448406,-18.47226 +BKGR71,35.1355196552929,282.513526716509,149.479418,-4.43623 +BKGR72,1.31143382555728,10.5448218426363,149.485146,-4.438538 +BKGR73,1418.22906383817,11403.5283510149,161.705694,-44.009628 +BKGR74,16701.1501739666,134288.631053691,326.302179,-43.416904 +BKGR75,5429.33177328306,43655.528138834,184.326594,64.722939 +BKGR76,5391.95651624909,43355.0055969677,164.012121,-45.273792 +BKGR77,413.757978288308,3326.89616661793,99.687706,-36.634686 +BKGR78,321.178437628415,2582.49355666021,99.689035,-36.639412 +BKGR79,1108.52726957119,8913.31482956459,80.821015,-61.880402 +BKGR80,3879.23760505581,31191.7144680832,129.933342,-2.202079 +BKGR81,1899.96841425391,15277.0410862554,167.873622,-36.48217 +BKGR82,19758.154684209,158869.030997961,64.000106,-46.249645 +BKGR83,9610.50880956578,77275.0414386286,304.294086,-31.625071 +BKGR84,27526.2076119513,221329.471312138,344.088412,-36.93623 +BKGR85,79.203866146314,636.85306988783,49.576308,-42.806786 +BKGR86,720.686490503193,5794.81061007531,322.643487,27.504253 +BKGR87,288.899227886355,2322.94670853276,93.465578,9.093426 +BKGR88,154435.230685349,1241764.51916012,93.470207,9.092409 +BKGR89,138914.116504505,1116964.18181433,204.502934,66.886406 +BKGR90,56460.7159801351,453982.640614916,259.960878,-30.030302 +BKGR91,18.524495158879,148.949567540819,259.961038,-30.02858 +BKGR92,2.66530172975024,21.4308426009552,259.962615,-30.029995 +BKGR93,41.5667798342099,334.225242160102,259.956662,-30.02807 +BKGR94,15.4435230685349,124.176451916012,259.955666,-30.031605 +BKGR95,44.745192534137,359.781846702358,259.965342,-30.030708 +BKGR96,5.71145002583081,45.9239511836703,259.954838,-30.030544 +BKGR97,64.6764808385255,520.042990016003,259.956193,-30.0271 +BKGR98,1.89996841425391,15.2770410862554,259.962188,-30.035166 +BKGR99,1.39877023158955,11.24706607642,259.954766,-30.028482 +BKGR100,42145.0313423152,338874.778426727,259.964699,-30.026979 +BKGR101,1.89996841425391,15.2770410862554,259.954974,-30.033587 +BKGR102,1345.07462933407,10815.3168348778,259.965941,-30.033421 +BKGR103,2.09771450466699,16.8670544387002,259.966914,-30.030846 +BKGR104,7.04281663159737,56.6290461655525,259.963001,-30.035955 +BKGR105,2.59864156789671,20.8948494634837,259.961862,-30.036377 +BKGR106,4.11856933060597,33.1161046721751,259.962967,-30.024693 +BKGR107,101.799672573817,818.538755070967,259.966741,-30.035271 +BKGR108,28.167375353375,226.484896978914,259.956534,-30.023838 +BKGR109,1.1317392582719,9.09995504021968,259.969019,-30.030718 +BKGR110,6.91427074113764,55.5954495882148,259.952592,-30.025553 +BKGR111,2.94948628561843,23.7158801328989,259.951701,-30.026688 +BKGR112,2.20671568107563,17.7434981932133,259.963323,-30.038492 +BKGR113,7.3577729352943,59.1615095243408,259.968605,-30.035257 +BKGR114,81.0487611890659,651.687283528702,259.954933,-30.022888 +BKGR115,2.17143273743567,17.4597992771745,259.965765,-30.03808 +BKGR116,1.70508636359338,13.7100565655766,259.969314,-30.02598 +BKGR117,4663.86940598903,37500.6889597178,259.948966,-30.029411 +BKGR118,22.8426445135392,183.670431641939,259.957757,-30.040262 +BKGR119,357.064259230242,2871.04002243944,259.94868,-30.028229 +BKGR120,8.52602066915007,68.5550175927619,259.964627,-30.04052 +BKGR121,2.7780904475108,22.3377407695602,259.956429,-30.020376 +BKGR122,939.17469210314,7551.60467447305,5.469609,-53.196304 +BKGR123,464.244087254152,3732.83889449176,216.695211,27.997269 +BKGR124,930.564286770617,7482.37114666943,106.122253,-37.320499 +BKGR125,126.399798363432,1016.34053408768,90.279714,-43.463825 +BKGR126,677.245894734869,5445.51861059505,269.204714,27.786957 +BKGR127,22581166.9240075,181567973.596614,292.407692,-12.646664 +BKGR128,905203.826502111,7278455.76019156,269.8823,41.732567 +BKGR130,2646.95392169903,21283.3137181917,256.204219,84.118996 +BKGR131,4413.12654770381,35484.5454705048,236.461317,57.391174 +BKGR132,1468.06870598906,11804.2730450589,237.221338,57.697475 +BKGR133,1839.69734311786,14792.4205930145,331.856717,30.276146 +BKGR134,4.75057721194948,38.1978788204646,331.853393,30.285744 +BKGR135,141.496722750635,1137.73009636099,173.853999,-47.747555 +BKGR136,624.807711640253,5023.8798761745,283.374818,43.788227 +BKGR137,25278.2137076294,203254.068068414,284.349302,44.902134 +BKGR138,1.73279178823343,13.9328270639506,284.334379,44.899223 +BKGR139,1048.92969685562,8434.10972268684,284.565096,45.275345 +BKGR140,21465765.5243142,172599386.075399,47.969021,-39.023266 +BKGR141,4974.46501835237,39998.0893878974,180.963642,-40.395042 +BKGR142,246.459964249443,1981.70610190608,206.403853,-40.76189 +BKGR143,359.539310434041,2890.94112113527,297.917125,-49.051144 +BKGR144,6648.84764074688,53461.2669462874,39.130654,-53.686798 +BKGR145,82555.5701596371,663803.054706716,318.61095,36.321953 +BKGR146,1428.0597580647,11482.5738332863,98.369992,-67.966393 +BKGR147,3.09561099948468,24.89082243231,98.361016,-67.971123 +BKGR148,1.5694460131717,12.6194156944968,98.352015,-67.974884 +BKGR149,115.810085207865,931.192022272673,132.436015,-28.507792 +BKGR150,26.5305578066978,213.323768233987,132.437258,-28.507895 +BKGR151,285.592225771056,2296.3561574432,154.534159,-24.592833 +BKGR152,31242.5433540064,251211.343766311,63.015084,-34.340122 +BKGR153,178.956048310776,1438.9286064796,276.192249,5.5678 +BKGR154,275.262076119514,2213.29471312138,120.691926,-11.894098 +BKGR155,3124.25433540064,25121.1343766311,158.38407,21.483133 +BKGR156,46.5314280401529,374.144397685001,204.235117,17.289787 +BKGR157,215152.492243721,1729972.68752402,98.579888,31.011438 +BKGR158,133274.2911009,1071616.14141335,100.864402,-26.016691 +BKGR159,8030.57016801114,64571.2578600626,100.921005,-27.859444 +BKGR160,589.856515761301,4742.84843825653,100.926279,-27.866131 +BKGR161,9.65486890269938,77.6317268236634,100.926331,-27.868202 +BKGR162,171.690545762954,1380.50901376287,257.079237,-56.56279 +BKGR163,1.89996841425391,15.2770410862554,257.090548,-56.560925 +BKGR164,291.572379529629,2344.44066978902,257.068927,-56.567383 +BKGR165,160230.94023946,1288365.97438321,242.201067,35.691277 +BKGR167,564607.15980135,4539826.40614915,152.135897,-4.146677 +BKGR168,3628.66086713576,29176.9066998353,212.89357,-0.653477 +BKGR169,6772.45894734869,54455.1861059505,218.939263,-2.457168 +BKGR170,236.998927752263,1905.63291974071,78.593244,32.655586 +BKGR171,2.96993114783328,23.8802707605092,78.600811,32.657898 +BKGR172,1.2409274204144,9.97790228748414,78.582688,32.652081 +BKGR173,266530.172975024,2143084.26009552,142.730226,-21.012403 +BKGR174,38.7031560614703,311.199755155415,142.729656,-21.02331 +BKGR175,2305400.49009132,18536991.3221577,64.892717,-28.786245 +BKGR176,12610.9086894354,101400.301572473,80.580239,-67.858719 +BKGR177,1.4512638624745,11.6691506488685,80.58267,-67.856888 +BKGR178,5.83104484059393,46.8855750112731,80.561819,-67.859047 +BKGR179,7.54651398400506,60.679116203581,80.573529,-67.851814 +BKGR180,1.01098888557054,8.12903973915469,80.598296,-67.864128 +BKGR181,41090.9688400319,330399.397449835,197.896765,38.960583 +BKGR182,15876.1934149461,127655.416413178,130.100825,-37.787189 +BKGR183,9413.39713365175,75690.1292111788,130.303342,-40.150005 +BKGR184,426.330478050256,3427.98763423353,287.867571,3.949431 +BKGR185,5.34252276177232,42.9575245164804,287.861921,3.952814 +BKGR186,38084.335392493,306224.015183073,287.862944,3.943311 +BKGR187,1.43135177579651,11.5090438997191,287.85912,3.94886 +BKGR188,1.99869433326348,16.0708647675716,287.856951,3.949627 +BKGR189,80.8623542110697,650.18844436893,281.537746,-43.339581 +BKGR190,11343.4818670432,91209.3260308556,281.549354,-43.344158 +BKGR191,106.107573030221,853.177211044364,130.412336,-32.199863 +BKGR192,116.881662732825,939.808235970278,321.256237,-6.198632 +BKGR193,10465172.2549822,84147118.0861107,321.846861,-7.015783 +BKGR194,3764.83876102018,30271.8697867501,177.024467,37.261185 +BKGR195,29427.0265540525,236613.351222012,119.25569,14.284005 +BKGR196,177.31536939809,1425.73642972002,143.896933,-29.038769 +BKGR197,70.1045782850544,563.688593326406,96.351159,46.258827 +BKGR198,440297.663830111,3540293.3280637,132.733228,-41.037926 +BKGR199,1.81863850177131,14.6230931546915,132.730692,-41.03437 +BKGR200,4.34256553406985,34.9171868258627,132.726063,-41.042187 +BKGR201,11.0343404941306,88.7236186790828,132.729611,-41.031033 +BKGR202,27.5262076119513,221.329471312138,132.743186,-41.036819 +BKGR203,1196.04186400622,9616.99181956123,235.652782,-48.41312 +BKGR204,2353.67438609326,18925.1463499374,235.650971,-48.415512 +BKGR205,2.96993114783328,23.8802707605092,235.651104,-48.420097 +BKGR206,83.5115186082006,671.489531816274,9.327041,46.27462 +BKGR207,309.561099948468,2489.082243231,9.318284,46.269466 +BKGR208,7616.34101817516,61240.5731530466,155.307111,-26.816204 +BKGR209,290.232726133869,2333.66894336724,265.383873,-34.767265 +BKGR210,4750.57721194948,38197.8788204646,265.38134,-34.767521 +BKGR211,1.76094738980929,14.1592172917332,265.382013,-34.765091 +BKGR212,3.62866086713576,29.1769066998353,265.380924,-34.764389 +BKGR213,10.6843075589135,85.9091152943229,265.388208,-34.765457 +BKGR214,96.9943375271965,779.900585936312,265.382277,-34.772621 +BKGR215,1.38914116504505,11.1696418181433,265.387342,-34.772259 +BKGR216,2.15152492243721,17.2997268752402,265.390003,-34.763897 +BKGR217,53671.8272639823,431558.074405275,265.389682,-34.771919 +BKGR218,11.4484418124719,92.0532755337502,265.391332,-34.770573 +BKGR219,2.93593462710861,23.606915561547,265.382067,-34.774368 +BKGR220,6.39361352844447,51.4090107134968,265.392746,-34.769821 +BKGR221,1.48506814042046,11.9409600848556,265.376647,-34.761845 +BKGR222,20.4054596069149,164.073803785406,265.379044,-34.774525 +BKGR223,37475.408981745,301327.83179091,265.386825,-34.775242 +BKGR224,457.874419584355,3681.62242480351,265.38346,-34.776161 +BKGR225,20171.8802423128,162195.666484198,265.390564,-34.760036 +BKGR226,14.7484500325019,118.587590938239,265.373475,-34.771015 +BKGR227,21.4163956336082,172.202418503159,265.394261,-34.771236 +BKGR228,1.51267761850581,12.1629591075318,265.389426,-34.775684 +BKGR229,1.24952911836183,10.0470658019766,265.395545,-34.766747 +BKGR230,11.3958410003683,91.630329151248,265.388217,-34.757896 +BKGR231,96.7712567413104,778.106864363906,265.371825,-34.764053 +BKGR232,9.83436631708111,79.0750083823535,265.384001,-34.756405 +BKGR233,1.38594622902398,11.1439523548366,265.381834,-34.756496 +BKGR234,8.54567517664955,68.7130532297478,265.390079,-34.777039 +BKGR235,8447.85364180988,67926.501413594,157.925696,-23.921494 +BKGR236,6618.29896074435,53215.6347368106,242.508718,-1.298437 +BKGR237,198.037019347361,1592.35261937617,267.893694,47.1936 +BKGR238,191.313836613041,1538.29364761008,267.897876,47.193489 +BKGR239,105.863532384308,851.214957910911,312.551404,38.769146 +BKGR240,14.8165257847832,119.134966387629,312.55367,38.777653 +BKGR241,1.03453784187806,8.31838939904876,312.543864,38.777607 +BKGR242,47287.5029232124,380223.755092277,310.806994,45.115757 +BKGR243,21.5152492243721,172.997268752402,310.798057,45.116199 +BKGR244,32.8659644496838,264.264755914059,310.82188,45.115818 +BKGR245,2562.98686892505,20608.1613811863,14.945234,45.148239 +BKGR246,664.884764074688,5346.12669462874,14.945533,45.147114 +BKGR247,1345.07462933407,10815.3168348778,14.944092,45.149658 +BKGR248,829.366293578075,6668.67030393401,331.5881,-40.23988 +BKGR249,198.037019347361,1592.35261937617,60.99075,-58.958202 +BKGR250,399.711258614468,3213.95096606908,60.997796,-58.958145 +BKGR251,26469.5392169903,212833.137181917,198.547245,21.143419 +BKGR253,102.50531419332,824.212594663484,85.833834,1.862602 +BKGR255,175.689732320089,1412.66519956396,3.874719,-55.20327 +BKGR256,488.36707993923,3926.80419812977,284.936199,-55.536579 +BKGR257,5.45439243010037,43.8570329012155,284.928505,-55.544132 +BKGR258,722.347844443328,5808.16902814787,3.469226,51.602371 +BKGR259,238.092865098973,1914.42892164585,90.580287,-38.081417 +BKGR260,82.5555701596371,663.803054706716,127.41442,12.813326 +BKGR261,353.790674424795,2844.71816929863,249.071285,-29.076487 +BKGR262,20977.1450466699,168670.544387002,249.076757,-29.074312 +BKGR263,186.100003435455,1496.37087506644,242.709561,-55.349976 +BKGR264,1.58032489321579,12.7068893051943,242.704738,-55.345776 +BKGR265,3.22660929938451,25.9441380531306,242.716971,-55.352848 +BKGR266,3.19702756751825,25.7062807657499,242.714643,-55.355503 +BKGR267,84.2842411759731,677.702747955856,242.70367,-55.344494 +BKGR268,6.24807711640253,50.238798761745,242.718021,-55.345543 +BKGR269,2.14163956336082,17.2202418503159,242.71567,-55.3577 +BKGR270,435.257618149476,3499.76792545068,242.723149,-55.346382 +BKGR271,3.21178437628415,25.8249355666021,242.716201,-55.341515 +BKGR272,1.22108636313128,9.81836666308383,242.722792,-55.344246 +BKGR273,134.19810435327,1079.04422964187,242.691771,-55.348888 +BKGR274,6.14817727219209,49.4355359216558,242.72806,-55.348129 +BKGR275,123.238493613913,990.921489127645,45.480378,-57.256413 +BKGR276,1917548.6055403,15418397.8070154,191.701872,43.151932 +BKGR277,22016.4037584739,177026.892798043,10.233327,-3.734955 +BKGR278,8724.61720278213,70151.8690883571,75.180019,-5.8751 +BKGR279,12126.8046373363,97507.7750238964,134.521889,41.623337 +BKGR280,157.306395988248,1264.85064520766,260.162461,-43.952354 +BKGR281,24702.8113143709,198627.44062714,260.165895,-43.954834 +BKGR282,4.09964622342303,32.9639499922632,260.156577,-43.952522 +BKGR283,81.4228652730382,654.695335356566,260.155192,-43.955509 +BKGR284,2.10739711488448,16.9449092246035,260.165792,-43.95842 +BKGR285,49.516094276936,398.143148604236,260.165589,-43.945946 +BKGR286,1.08579135909743,8.73050261235335,260.162458,-43.961365 +BKGR287,1.20710870311682,9.70597674926806,260.152754,-43.94659 +BKGR288,277.80904475108,2233.77407695602,257.059218,35.724518 +BKGR289,1235.22587682055,9932.05799076594,348.499657,-32.306583 +BKGR290,12323.8493613913,99092.1489127645,340.500216,-59.253471 +BKGR291,189.559860816196,1524.19048667768,65.791794,-53.004322 +BKGR292,48.836707993923,392.680419812977,65.7927,-53.00518 +BKGR293,333.231755587514,2679.41044870189,243.224108,44.288044 +BKGR294,14346513.8241295,115355749.85957,246.200303,44.689983 +BKGR295,52.089043319973,418.831412655591,246.203415,44.683216 +BKGR296,400632.68822799,3221359.88821657,257.762098,32.305466 +BKGR297,1801.96512376694,14489.0278308111,208.59776,-18.301659 +BKGR298,70.2661860283521,564.988029735819,306.42515,-58.277779 +BKGR299,537.955536039016,4325.52918511219,29.891097,-53.412666 +BKGR300,2031170.50362708,16331995.3133464,147.517495,-29.905424 +BKGR301,34573.7415474969,277996.44781679,248.535525,-59.735874 +BKGR302,1.38594622902398,11.1439523548366,248.530634,-59.744125 +BKGR303,3.03211997271625,24.3803113010338,248.522115,-59.729206 +BKGR304,13764.0544229219,110672.379264265,286.122129,7.256043 +BKGR305,1.61713538875455,13.0028707796926,286.122964,7.252938 +BKGR306,20.1254862051764,161.822626803026,286.118783,7.259341 +BKGR308,44.9517269588411,361.44252425271,286.119002,7.249721 +BKGR309,8.01210036915622,64.4227480880871,286.129158,7.253582 +BKGR310,48.9492882327898,393.585641669175,286.114653,7.253107 +BKGR314,11.5277986199851,92.6913583564741,286.116601,7.26426 +BKGR315,36.7914056816608,295.827979035398,286.116395,7.247582 +BKGR316,475057.721194949,3819787.88204647,246.714036,-42.973782 +BKGR317,19.3529146433387,155.610624854087,246.71171,-42.972691 +BKGR318,15.3019359979928,123.037995361825,246.711689,-42.970406 +BKGR319,38.7031560614703,311.199755155415,246.710061,-42.975773 +BKGR320,917.796466102902,7379.70916583896,246.70696,-42.969685 +BKGR321,5.80425362314686,46.6701553618625,246.72275,-42.965466 +BKGR322,3197027.56751824,25706280.7657498,108.062395,-38.174545 +BKGR323,174.480292709859,1402.94048073273,39.326617,25.127228 +BKGR324,12.2955052943996,98.8642432945792,39.3172,25.124981 +BKGR325,21025.5023601971,169059.370148543,195.076363,-27.403164 +BKGR326,616.235028454964,4954.94966014639,109.114928,-36.571136 +BKGR327,1.8270329556877,14.690590285915,109.114702,-36.567383 +BKGR328,1635860.9340207,13153436.9271334,293.343877,62.053188 +BKGR329,10.2269558512827,82.2316958299111,293.330405,62.056862 +BKGR330,133274.2911009,1071616.14141335,245.98865,66.726028 +BKGR331,620.506565607094,4989.29573036786,318.166862,17.940132 +BKGR332,100402.92870353,807307.982320605,245.504948,22.839373 +BKGR333,1921.96901160202,15453.9408847404,271.969147,20.39784 +BKGR334,295.628555371428,2377.05508828321,334.711623,-52.115772 +BKGR335,2227134.16987626,17907676.760597,44.713064,-52.095997 +BKGR336,137.323979762062,1104.17839855351,115.174438,-21.557257 +BKGR337,5.36718272639823,43.1558074405275,115.167397,-21.55283 +BKGR338,35297.6978453442,283817.549906643,25.490174,-60.438442 +BKGR339,62624.8042168493,503546.111536386,93.213753,-43.394062 +BKGR341,1654.80331088174,13305.7465483916,167.242852,-33.718395 +BKGR342,52.3294754197401,420.764650618412,167.25187,-33.712044 +BKGR343,7920.3866146314,63685.306988783,277.301587,60.115185 +BKGR344,40902.1729875905,328881.350111245,333.942319,-65.493057 +BKGR345,546.696610322204,4395.81338034431,275.68863,30.251291 +BKGR346,4.55770677720955,36.6470690629229,275.689463,30.262402 +BKGR347,34.6534422530077,278.637295813819,244.549695,27.989285 +BKGR348,203.585283521474,1636.96444508308,245.108589,24.362988 +BKGR349,117.691847713737,946.322675446223,96.21888,-38.868816 +BKGR350,4006.3268822799,32213.5988821656,208.44391,38.073204 +BKGR351,45.7874419584355,368.162242480351,103.344388,2.330875 +BKGR352,1.35752045164394,10.9153897294342,103.350776,2.337839 +BKGR353,671.036867050794,5395.59379588566,104.928761,0.196545 +BKGR354,55.3027058715472,444.671450031706,55.65043,-73.306587 +BKGR355,4043.39696850759,32511.6676427423,11.79077,49.704288 +BKGR356,46.7462073533406,375.871369758552,328.106894,-1.275721 +BKGR357,149.880930673988,1205.1448428167,93.226515,-5.09737 +BKGR358,244.763345789371,1968.06413305661,214.537988,-44.783485 +BKGR359,197.127121894512,1585.03642366093,295.407277,-8.317173 +BKGR360,25.4534339142159,204.662957961046,295.404346,-8.31744 +BKGR361,1.03453784187806,8.31838939904876,295.40004,-8.317003 +BKGR362,48.2776788202497,388.185444217303,295.399377,-8.318331 +BKGR363,267144.588478675,2148024.57953605,35.516238,20.668531 +BKGR365,504.366672005627,4055.45182381025,38.541978,51.222328 +BKGR366,645277.290604151,5188469.24329438,339.818409,-0.715827 +BKGR367,8293662.93578075,66686703.0393401,63.312508,-70.42041 +BKGR368,108.579135909743,873.050261235335,63.316364,-70.42231 +BKGR369,95443.5053227053,767430.837950947,6.959792,-32.556629 +BKGR370,121268.046373363,975077.750238964,6.9593,-32.551693 +BKGR372,21664.3858072595,174196.42853166,7.943713,-30.918083 +BKGR373,8236.56976171773,66227.6350046497,354.238026,55.675995 +BKGR374,23.1604173526129,186.225541864932,354.250315,55.674065 +BKGR375,261.063635238284,2099.12957065058,354.244271,55.668465 +BKGR376,28297.390050699,227530.303764593,327.021183,-20.235403 +BKGR377,119054655.081101,957280575.581659,155.061633,53.779415 +BKGR378,190.434829378925,1531.22583030851,176.837005,45.51001 +BKGR379,1155437.29403182,9290503.40052497,22.62729,-14.07332 +BKGR380,2.76532628134477,22.2351081734143,22.625374,-14.06855 +BKGR381,6176.55596907493,49663.7199877703,353.768123,-26.640352 +BKGR382,376.483876102018,3027.18697867501,240.517909,-43.224098 +BKGR383,3.53790674424795,28.4471816929863,240.515732,-43.213608 +BKGR384,308.849129175566,2483.35751293116,98.152875,-52.03997 +BKGR385,2186.48439010554,17580.8248239829,98.167758,-52.040916 +BKGR386,981.17479022062,7889.31409098431,98.169918,-52.042759 +BKGR387,3175.01938454651,25529.3199736806,298.501574,62.995598 +BKGR388,2.79734725053331,22.4925785914723,298.516834,62.996712 +BKGR389,176500.679278546,1419185.76585874,300.033513,61.17432 +BKGR391,23645.384534431,190125.008564767,71.666888,-38.475349 +BKGR392,37.0464315224385,297.87856062317,252.209631,26.926062 +BKGR393,1.24665528113774,10.0239581918615,252.205116,26.921335 +BKGR394,13266.195135552,106669.251248418,283.038621,36.360397 +BKGR395,149.192290350576,1199.60770523299,222.605685,-71.672569 +BKGR396,264.695392169903,2128.33137181917,74.418562,-50.656677 +BKGR397,413.757978288308,3326.89616661793,75.354924,46.95726 +BKGR398,38.4367254091861,309.057471109508,348.001677,-70.516762 +BKGR399,45263.3174444365,363947.92413979,94.839376,0.301171 +BKGR400,2.31071498708589,18.5797235004033,94.832861,0.29333 +BKGR401,4175.86433724729,33576.795578366,313.978374,21.48024 +BKGR402,3.95135801672551,31.7716117358325,313.973532,21.480549 +BKGR403,462.111079426199,3715.6880576776,95.141394,1.679765 +BKGR404,1.1422111126972,9.18415588750978,95.143989,1.677801 +BKGR405,4894.92882327898,39358.5641669175,114.377992,-49.400768 +BKGR406,97891.815082419,787116.917209119,135.016064,3.653432 +BKGR408,513.743548526448,4130.84830240149,132.051335,-43.264263 +BKGR409,1.8524495158879,14.8949567540819,132.059983,-43.267838 +BKGR410,11.1364399896542,89.5445682150318,132.058021,-43.258633 +BKGR411,6.37890862538577,51.29077326991,132.049954,-43.273094 +BKGR412,2739.97361760793,22031.2554763652,251.254559,5.836842 +BKGR413,71902.8957571086,578148.291551173,252.30181,3.821173 +BKGR414,1131.7392582719,9099.95504021969,112.4542,-72.127121 +BKGR415,426.330478050256,3427.98763423353,233.471426,66.718605 +BKGR416,2869.10459590356,23069.5565587047,188.965705,-59.719662 +BKGR417,218.145561555532,1754.03900489409,188.962151,-59.715004 +BKGR418,808623.542110699,6501884.44368932,34.413397,-62.739155 +BKGR419,19.3084041748114,155.25273034839,34.412412,-62.741608 +BKGR420,87.8509336009057,706.381386142127,115.451479,1.239271 +BKGR421,4372.66676031928,35159.2212021762,94.029464,8.687361 +BKGR422,290.901781665605,2339.0486058767,94.022976,8.695772 +BKGR423,34653.4422530077,278637.295813819,277.805246,31.055437 +BKGR424,2803.79580193234,22544.4293401114,56.227513,68.373207 +BKGR425,346.534422530077,2786.37295813819,328.579261,36.667786 +BKGR426,2771.70101678634,22286.3653914418,310.130503,57.502724 +BKGR427,11688.1662732825,93980.8235970278,310.135652,57.492641 +BKGR428,36286608.6713576,291769066.998353,336.163364,-41.440315 +BKGR429,599440.913123685,4819913.52586201,336.169365,-41.438259 +BKGR430,2247.74158862762,18073.3744535609,279.040253,30.710291 +BKGR431,1.35439824124558,10.8902850297045,279.033119,30.715538 +BKGR432,4526.33174444365,36394.792413979,52.108728,-5.626717 +BKGR433,2201.64037584739,17702.6892798043,58.08888,-17.736441 +BKGR434,579090.421025591,4656281.69831388,163.165013,0.483886 +BKGR435,461.048253436626,3707.14221228963,14.296426,-59.834099 +BKGR436,529.354221868076,4256.36875644431,254.389425,1.690558 +BKGR437,122.955052943996,988.642432945792,270.662999,11.939787 +BKGR438,21.3671392905,171.806363931,29.349097,32.836487 +BKGR439,155505.724563512,1250372.01959885,167.189979,29.021309 +BKGR440,284.935381879008,2291.0746848404,224.08868,30.11808 +BKGR441,330.176668488808,2654.8454660533,233.940829,-57.375439 +BKGR442,1.20989137606341,9.72835133645367,233.938078,-57.376072 +BKGR443,1.4117128931899,11.351133897522,233.941412,-57.371372 +BKGR444,1.03453784187806,8.31838939904876,233.933121,-57.377182 +BKGR445,5.89856515761301,47.4284843825653,233.932798,-57.373543 +BKGR446,2.38641725837675,19.1884213609345,233.929432,-57.377045 +BKGR447,1.15012854188927,9.24781741480535,233.928984,-57.375866 +BKGR448,68.1940339008415,548.326514233003,233.936865,-57.382919 +BKGR449,8.82564350861685,70.9641894477119,233.929708,-57.37038 +BKGR450,3.39426996467597,27.2922440810997,233.95184,-57.38176 +BKGR451,9.500498224924,76.3904813538993,233.932928,-57.367947 +BKGR452,1.40846604363469,11.3250270140161,233.930873,-57.368645 +BKGR453,2.39743245995816,19.2769910897101,233.940446,-57.384342 +BKGR454,51.9692418447927,417.868127137372,233.951809,-57.382748 +BKGR455,50.4366672005627,405.545182381025,233.937921,-57.385422 +BKGR456,8.78509336009057,70.6381386142127,233.930863,-57.367111 +BKGR457,1.70508636359338,13.7100565655766,233.949429,-57.384762 +BKGR458,292.244523281385,2349.84516369239,268.886566,16.816324 +BKGR459,2.11712441800008,17.0231233718707,268.900562,16.817698 +BKGR460,1068430.75589135,8590911.52943229,150.463523,-38.920666 +BKGR461,1899.96841425391,15277.0410862554,111.019579,60.367065 +BKGR462,18.6959002022122,150.327780920445,111.014451,60.373814 +BKGR463,7157.25319598882,57549.1941442569,320.768576,7.389057 +BKGR464,35871.2392966758,288429.214106389,314.841582,18.071898 +BKGR466,8604.91096708917,69189.3493605328,278.162909,38.378761 +BKGR467,159.494745941687,1282.44647043243,307.105338,49.978867 +BKGR468,9.3917469210314,75.5160467447305,307.115252,49.977024 +BKGR469,324897.5086562,2612397.42267604,234.169864,-42.130341 +BKGR470,119604.186400622,961699.181956123,234.169583,-42.134079 +BKGR471,21.9657674349726,176.619742242916,234.171509,-42.126003 +BKGR472,200.33017995466,1610.79119369786,117.817267,47.406616 +BKGR474,572.461627791039,4602.98168246266,250.71013,-54.47897 +BKGR475,10.2034345055352,82.0425681777392,250.697403,-54.475063 +BKGR476,199.869433326348,1607.08647675716,250.712126,-54.488621 +BKGR477,9.52239913519111,76.5665796003053,250.695145,-54.473679 +BKGR478,52.6922060145384,423.681251841044,105.20729,1.213539 +BKGR479,73408.5052713496,590254.418282732,170.687139,11.583944 +BKGR480,1.22672264169531,9.86368618447702,170.693715,11.582494 +BKGR481,233209.576961708,1875163.95652888,255.161144,6.313074 +BKGR482,440297.663830111,3540293.3280637,231.02663,-28.101604 +BKGR483,11034.3404941306,88723.6186790828,31.997118,46.582672 +BKGR485,5479.56876165379,44059.4677673203,107.166049,5.122636 +BKGR486,2049.96469289946,16483.1134053857,238.048205,36.836575 +BKGR487,3773.51761068923,30341.6536536717,263.401918,-70.072433 +BKGR488,1.01098888557054,8.12903973915469,263.423947,-70.070969 +BKGR489,42.5349945160239,342.010348145771,263.401089,-70.08168 +BKGR490,2895.65209387154,23283.016537382,71.919932,-66.006401 +BKGR491,1843.93828348503,14826.5206442298,158.766822,-13.225983 +BKGR492,27717.0101678634,222863.653914418,312.085523,47.373344 +BKGR493,1.08579135909743,8.73050261235335,312.075312,47.372345 +BKGR494,55.6860459152575,447.753765271178,70.759717,-2.777766 +BKGR495,105377.133635308,847303.980435171,24.808859,-17.599747 +BKGR496,3843.67254091861,30905.7471109508,26.639841,49.425327 +BKGR497,62.0506565607094,498.929573036786,26.633367,49.42844 +BKGR498,3339.99934119261,26855.8712769457,67.882367,-45.001457 +BKGR499,478.350664003765,3846.26538672894,256.909909,-65.74054 +BKGR500,3204.39747720298,25765.5398630122,163.579145,-17.06963 +BKGR501,112.913633020836,907.902572440956,98.429458,11.93836 +BKGR502,33.7867471079203,271.668476100067,267.985467,-62.996788 +BKGR503,109.080314429712,877.080078143697,138.059457,-15.138665 +BKGR504,284.28004868599,2285.80535928751,112.997118,46.593376 +BKGR505,144.127343231678,1158.88207808329,113.009989,46.594326 +BKGR506,398.791948230248,3206.55908396969,99.392718,12.942798 +BKGR507,2.04524990493977,16.4452032965477,99.397096,12.944733 +BKGR508,1075836.76408227,8650460.88328947,80.50351,48.759544 +BKGR509,31.6771704259989,254.706041670874,80.509794,48.762852 +BKGR510,2.18648439010554,17.5808248239829,80.49526,48.762451 +BKGR511,144.127343231678,1158.88207808329,201.059782,-38.237949 +BKGR512,4.22421856733597,33.9655965469595,201.068735,-38.230457 +BKGR513,330.176668488808,2654.8454660533,249.349455,-75.427322 +BKGR514,409964.622342303,3296394.99922633,252.793989,-75.634262 +BKGR515,64231.2510761286,516463.0392537,152.639008,-51.69445 +BKGR516,4.42329985506418,35.5663457959005,152.640437,-51.704117 +BKGR517,133.889457278123,1076.56249678106,264.557477,26.449583 +BKGR518,10345.3784187806,83183.8939904876,82.913165,-24.759014 +BKGR519,246459.964249443,1981706.10190608,83.943302,-29.088282 +BKGR520,43.9285007304223,353.215087935972,336.205966,20.533335 +BKGR521,2332.09576961708,18751.6395652888,53.313842,57.987469 +BKGR522,1.37640544229219,11.0672379264265,53.333178,57.988628 +BKGR523,408081.006002001,3281249.43996037,53.502039,58.598648 +BKGR524,8447.85364180988,67926.501413594,351.11051,73.962158 +BKGR525,8198.72616120759,65923.3466620078,49.745157,-71.865768 +BKGR526,1048929.69685562,8434109.72268682,164.598911,48.288105 +BKGR527,2498.88563880765,20092.7437990642,249.500032,7.79142 +BKGR528,34.3357375847767,276.082733730867,351.480853,-55.610825 +BKGR529,178.956048310776,1438.9286064796,249.741739,25.864382 +BKGR530,810.487611890659,6516.87283528702,57.445039,-69.656342 +BKGR531,236.45384534431,1901.25008564767,205.622144,-64.858765 +BKGR532,184.818900022941,1486.06993041816,205.611177,-64.860458 +BKGR533,4.35257618149476,34.9976792545068,205.616021,-64.854378 +BKGR534,3.67914056816608,29.5827979035398,205.642198,-64.855606 +BKGR535,7.54651398400506,60.679116203581,205.607652,-64.866974 +BKGR536,2.39743245995816,19.2769910897101,205.639466,-64.851578 +BKGR537,332.465343817365,2673.24797567669,83.643088,67.609055 +BKGR538,3204.39747720298,25765.5398630122,274.907929,39.032856 +BKGR539,106843.075589135,859091.152943229,329.529125,10.383571 +BKGR540,108829.436668308,875062.849941458,137.21886,86.834778 +BKGR541,366223.645275029,2944687.72935989,212.087005,-48.2612 +BKGR542,1.71690545762954,13.8050901376287,212.074801,-48.264076 +BKGR543,954.435053227053,7674.30837950947,192.32421,-68.369476 +BKGR544,3.37867471079203,27.1668476100067,192.321291,-68.36972 +BKGR545,3.00432132971465,24.1567912634945,192.315117,-68.369034 +BKGR546,2.06893278266409,16.6356297759149,192.351184,-68.370079 +BKGR547,191.313836613041,1538.29364761008,329.901646,71.227005 +BKGR548,323.404740200395,2600.39454680689,148.615472,59.168694 +BKGR549,7.7937483907191,62.6670493507694,148.601507,59.167736 +BKGR550,2.75896620738787,22.1839688437168,148.602231,59.164246 +BKGR551,141.496722750635,1137.73009636099,273.023937,-39.223236 +BKGR552,1.44459591071362,11.6155357717748,273.025993,-39.227776 +BKGR553,1345.07462933407,10815.3168348778,276.059317,-13.329378 +BKGR555,58.0425362314686,466.701553618625,276.061704,-13.330165 +BKGR556,457.874419584355,3681.62242480351,276.060777,-13.327534 +BKGR558,2.77170101678634,22.2863653914418,276.05949,-13.333706 +BKGR563,454.722434250643,3656.27831429876,276.054682,-13.328199 +BKGR565,4557.70677720955,36647.0690629229,276.064849,-13.330485 +BKGR568,3.86141412726631,31.0484015580119,276.052759,-13.32888 +BKGR571,14.3795859540819,115.621672326651,276.066556,-13.331269 +BKGR578,457874.419584356,3681622.42480352,276.056663,-13.322084 +BKGR580,14988.0930673988,120514.48428167,276.065142,-13.323516 +BKGR583,29.6310049574184,238.253476618599,276.06805,-13.329391 +BKGR588,1.01331945564589,8.14777911109814,276.068637,-13.334005 +BKGR590,53.6718272639822,431.558074405275,276.048891,-13.32907 +BKGR593,37.1318323670343,298.565241623708,276.069273,-13.333439 +BKGR594,2.7211117718964,21.8795933804398,276.055206,-13.339027 +BKGR595,263479.227313909,2118552.57742801,276.064442,-13.320233 +BKGR598,5.87146371248895,47.2105702911777,276.056157,-13.319377 +BKGR601,395135.801672552,3177161.17358325,354.542905,40.512726 +BKGR602,3189.67460815541,25647.1579606291,224.4589,-45.252174 +BKGR603,3.8881801712962,31.2636187959899,224.445094,-45.253475 +BKGR604,23482.6108522276,188816.197211838,169.276869,-11.373664 +BKGR605,1777.24123539423,14290.2309162686,248.439402,38.01643 +BKGR606,7425.85357004268,59708.9242320941,259.112519,42.656181 +BKGR607,1144.84418124719,9205.32755337502,259.361841,47.404335 +BKGR608,175.28565714872,1409.41615976486,186.451341,-14.078506 +BKGR609,255.121101392882,2051.34754804873,6.714488,17.43017 +BKGR610,265.305578066978,2133.23768233987,281.812993,24.096008 +BKGR611,34099.3720298116,274182.193560047,283.687844,-10.738187 +BKGR612,2.78449460739425,22.3892345801564,283.68413,-10.736989 +BKGR613,13.7008143372977,110.163885870833,283.691024,-10.740762 +BKGR614,1650997.36888049,13275144.180537,283.68354,-10.734333 +BKGR615,9.67712567413103,77.8106864363906,283.687004,-10.73233 +BKGR616,6.55762203115612,52.7277508649772,283.677251,-10.73578 +BKGR617,1.74480292709859,14.0294048073273,283.698795,-10.736987 +BKGR618,2708609.39896468,21779065.7803384,156.029186,-63.998596 +BKGR619,23591.0016591106,189687.733179331,156.038709,-64.001823 +BKGR620,9.92536258824943,79.8066804264281,156.025041,-63.992142 +BKGR621,5281.36740942518,42465.7937995681,85.981267,60.627495 +BKGR622,5257.10173036562,42270.6812002229,111.476962,-59.640484 +BKGR623,327.149590596981,2630.50569651934,116.074991,-59.887337 +BKGR624,524.501073190744,4217.34613312853,310.803731,61.56057 +BKGR625,1.28158194715504,10.304792392972,310.821043,61.566837 +BKGR626,14816.5257847832,119134.966387629,107.882276,-53.16814 +BKGR627,182.283089649552,1465.68028658483,300.933443,5.495015 +BKGR628,288.899227886355,2322.94670853276,69.694805,7.070355 +BKGR629,614.817727219209,4943.55359216558,95.826303,-15.445785 +BKGR630,1.76094738980929,14.1592172917332,95.826076,-15.437874 +BKGR631,120.989137606341,972.835133645367,95.820976,-15.453529 +BKGR632,4.8836707993923,39.2680419812977,95.832398,-15.454966 +BKGR633,2284264.45135392,18367043.1641939,190.404474,19.851309 +BKGR634,46531.4280401529,374144.397685001,258.345768,1.465925 +BKGR635,3.08849129175566,24.8335751293116,258.350922,1.464246 +BKGR636,1740.78999172403,13997.1380716629,33.41776,58.758247 +BKGR637,3.58712392966758,28.8429214106389,33.429902,58.760216 +BKGR638,9.92536258824943,79.8066804264281,33.415003,58.767097 +BKGR639,172.880647771168,1390.0782450932,282.50241,21.967476 +BKGR640,12786.3439047041,102810.920281463,282.49694,21.971237 +BKGR641,7.44297193045324,59.8465675178243,282.494454,21.961664 +BKGR642,41951.3925125904,337317.790249762,205.008691,-19.227638 +BKGR643,1.4117128931899,11.351133897522,205.007797,-19.222597 +BKGR644,6119.92896357756,49208.4002660923,115.114973,-64.198837 +BKGR645,209.771450466699,1686.70544387002,223.787943,18.251163 +BKGR646,357.064259230242,2871.04002243944,284.542391,-74.212547 +BKGR647,280.379580193234,2254.44293401114,324.494251,4.127291 +BKGR648,175.689732320089,1412.66519956396,338.090243,31.732763 +BKGR649,97.6666701554352,785.30659853535,96.797636,36.38166 +BKGR650,301.818864690153,2426.82939457658,99.478684,40.583923 +BKGR651,215.648469961396,1733.96068643702,21.0676,49.346146 +BKGR652,355423.697980392,2857848.79176926,139.10827,-62.071117 +BKGR653,606.382111758711,4875.72549407139,139.11142,-62.071701 +BKGR654,3263.97167418129,26244.5570130293,201.157885,-59.158142 +BKGR655,2.58075264517196,20.7510103315252,201.151273,-59.156631 +BKGR656,2.28426445135392,18.3670431641939,201.169617,-59.159691 +BKGR657,5208904.3319973,41883141.2655591,280.706067,57.865196 +BKGR658,17731.536939809,142573.642972002,303.440181,20.358271 +BKGR659,7477.32712793221,60122.8067223685,303.441917,20.357698 +BKGR660,1.15543729403183,9.29050340052499,303.44307,20.34923 +BKGR661,313.145648545965,2517.90445721562,266.231627,22.605272 +BKGR662,1677823.91805776,13490847.9211407,118.992622,-9.797198 +BKGR663,10.2034345055352,82.0425681777392,119.002914,-9.798083 +BKGR664,62480.7711640253,502387.98761745,292.16772,-8.781412 +BKGR665,1.30240597860299,10.4722317996617,292.167938,-8.771085 +BKGR666,494.022104203427,3972.27444772959,271.559846,-49.282635 +BKGR667,17568.9732320089,141266.519956396,353.872755,31.016243 +BKGR668,61907944.0108512,497782066.861762,353.870375,31.017153 +BKGR669,30.2514629029665,243.242381410552,353.881136,31.022495 +BKGR670,12639.9798363432,101634.053408768,332.807543,77.320381 +BKGR671,844.785364180988,6792.6501413594,357.540469,66.280037 +BKGR672,10417.0891561262,83760.4971974333,357.528754,66.282295 +BKGR673,1.77724123539423,14.2902309162686,357.522694,66.287903 +BKGR674,976.666701554352,7853.0659853535,156.663645,-6.86512 +BKGR675,10635.2176247923,85514.3987638459,230.654773,-8.195262 +BKGR676,562013.025541724,4518967.79851638,20.536336,56.457729 +BKGR677,44131.2654770381,354845.454705048,20.533169,56.455811 +BKGR678,19.5770108332469,157.412510966939,20.545852,56.460209 +BKGR679,1150.12854188927,9247.81741480535,73.667748,-75.322357 +BKGR680,146.806870598906,1180.42730450589,156.660825,76.517525 +BKGR681,661.829896074435,5321.56347368106,313.472995,-67.989281 +BKGR682,2616.6544907099,21039.6856406728,317.872678,-66.309341 +BKGR683,92628.8732245335,744799.277402952,318.210435,-69.268219 +BKGR685,6219.3698096972,50007.9724486742,318.183442,-69.269058 +BKGR686,506.694722787018,4074.1709389131,151.880761,-66.546089 +BKGR687,18.1028261686723,145.559061446159,151.881923,-66.556412 +BKGR688,12239.0125791198,98410.0033577838,92.53072,-28.025276 +BKGR689,3.28659644496838,26.4264755914059,92.539388,-28.028528 +BKGR690,1.93529146433387,15.5610624854087,92.540166,-28.023615 +BKGR691,766913.497197556,6166507.25264382,338.101027,66.665703 +BKGR692,17.4480292709859,140.294048073273,338.120757,66.666451 +BKGR693,512.561971153263,4121.34761494726,84.077426,75.398773 +BKGR694,1.98037019347361,15.9235261937617,84.074491,75.399765 +BKGR695,974.420430474141,7835.00443478993,93.608196,-28.921535 +BKGR696,3834.83233938748,30834.6658650792,283.65741,72.538742 +BKGR697,3417.79792006473,27481.4248792925,264.418897,15.185134 +BKGR698,123807.33665466,995495.374903814,5.489827,-9.904613 +BKGR699,4433.49661432004,35648.3346905209,303.477478,42.5826 +BKGR700,9.8117479022062,78.8931409098431,303.477918,42.588844 +BKGR701,19.8951116696026,159.970258511646,303.469236,42.588894 +BKGR702,1182.3508860026,9506.90702451774,205.606091,9.367255 +BKGR703,16.2834483575793,130.930023740602,205.604559,9.367163 +BKGR704,11932.9104405345,95948.7335215722,282.80531,-59.047295 +BKGR705,6.83512373844755,54.9590537392737,282.821914,-59.049793 +BKGR706,1.4117128931899,11.351133897522,282.822345,-59.051498 +BKGR707,235.367438609326,1892.51463499374,257.461245,-67.050842 +BKGR708,2696.16446921871,21679.0000626041,257.438931,-67.045158 +BKGR709,444.37168795336,3573.05125890632,170.622502,-5.590142 +BKGR710,8704.55114004305,69990.5242667251,52.461653,-8.873782 +BKGR711,72735.4920496824,584842.93324863,52.456132,-8.871731 +BKGR712,3497408.66063397,28121549.4968699,353.018637,-43.590008 +BKGR713,113696.312933791,914195.852422818,353.018235,-43.588791 +BKGR714,530.574509377022,4266.18069977524,211.961928,-86.308105 +BKGR715,856.537499246811,6887.14531765017,222.341968,-84.710487 +BKGR716,2021.83812287503,16256.9566110648,222.027154,-46.573479 +BKGR717,1.06843075589135,8.59091152943229,222.03066,-46.574799 +BKGR718,2.68377671873101,21.5793941050802,222.024045,-46.564926 +BKGR719,1.5694460131717,12.6194156944968,222.034766,-46.58268 +BKGR720,1474.84500325019,11858.7590938239,249.895104,-78.717033 +BKGR721,111.621121351706,897.509897633501,137.16197,-58.040421 +BKGR722,3.92415705946682,31.5528974990541,137.157437,-58.043365 +BKGR723,5.03206660849983,40.4612454344478,137.176572,-58.038242 +BKGR724,4.71787446844981,37.9349264722414,137.177726,-58.044159 +BKGR725,23809.2865098973,191442.892164585,137.146211,-58.035446 +BKGR726,790.217023091702,6353.88348472676,180.323395,-18.130861 +BKGR727,3.83483233938748,30.8346658650792,180.320163,-18.125776 +BKGR729,705905.200067218,5675958.95990884,57.518561,-11.140332 +BKGR730,30321.1997271625,243803.113010338,139.463465,-56.280781 +BKGR731,149880.930673988,1205144.8428167,58.033965,-6.244088 +BKGR732,5043.66672005627,40554.5182381025,58.035607,-6.243431 +BKGR733,180611.908238529,1452242.84894784,310.296883,-62.69603 +BKGR734,1.98951116696026,15.9970258511646,310.292094,-62.696465 +BKGR735,186959.002022122,1503277.80920445,318.452778,48.643131 +BKGR736,1.27275959908622,10.2338547011065,318.450187,48.634392 +BKGR737,4118.56933060597,33116.1046721751,44.941486,6.67501 +BKGR738,102.034345055352,820.425681777392,44.936603,6.684019 +BKGR739,1269832.33323909,10210317.4884446,8.119441,-68.007515 +BKGR740,972179.325674049,7816984.42463989,208.701273,5.926908 +BKGR741,1103.43404941306,8872.36186790828,11.412262,-9.90623 +BKGR742,6542.53991900865,52606.4804032075,191.307172,38.772755 +BKGR743,6587.89063917693,52971.1311048215,218.484646,-61.454342 +BKGR744,2.15152492243721,17.2997268752402,218.48792,-61.454803 +BKGR745,14.2477531176358,114.56164646317,218.494586,-61.454548 +BKGR746,2956.28555371428,23770.5508828321,218.473955,-61.453564 +BKGR747,4.97446501835237,39.9980893878974,218.492735,-61.459904 +BKGR748,1.67782391805776,13.4908479211407,218.471058,-61.452175 +BKGR749,1.03215847086859,8.29925763433178,218.469919,-61.458717 +BKGR750,1.24952911836183,10.0470658019766,218.495446,-61.447952 +BKGR751,14.9536214099221,120.237308659364,218.500721,-61.451069 +BKGR752,4.83889703637789,38.90803040846,218.468548,-61.449547 +BKGR753,8.06763759572263,64.8693052443569,218.472111,-61.461693 +BKGR754,5.39195651624909,43.3550055969677,218.466229,-61.44994 +BKGR755,1.9758154684209,15.8869030997961,218.468175,-61.461796 +BKGR756,8198.72616120759,65923.3466620078,208.338587,5.985527 +BKGR757,943.509725516662,7586.46129791575,200.599782,47.477905 +BKGR758,587146.371248895,4721057.02911777,334.586532,-64.557579 +BKGR759,1098.3642304759,8831.59706801904,54.267025,-82.236557 +BKGR760,4071.42445732968,32737.0277566617,160.073655,-81.833389 +BKGR761,689.836835971944,5546.75836024055,302.583753,18.193239 +BKGR762,131.143382555728,1054.48218426363,12.527414,-6.746952 +BKGR763,31677.1704259989,254706.041670874,313.76445,3.434987 +BKGR764,4253.49945160239,34201.0348145771,2.646501,55.679924 +BKGR765,5113.83111332623,41118.6877846779,2.646965,55.679199 +BKGR766,1341.9810435327,10790.4422964187,2.561199,56.928154 +BKGR767,569.831405529073,4581.83290269317,47.080062,73.753494 +BKGR768,78839.957437226,633926.995823296,32.356516,-10.18159 +BKGR769,2.976777546204,23.9353204699769,32.360156,-10.188376 +BKGR770,2263.32218898442,18198.6531003077,304.278878,5.892254 +BKGR771,5.91216275461931,47.537818330741,304.27983,5.885979 +BKGR772,58444.867871944,469936.574240932,20.034837,30.568085 +BKGR774,161.341608057013,1297.29650067757,6.989558,-11.878504 +BKGR775,2117.12441800008,17023.1233718707,289.351428,13.8952 +BKGR776,116612.842368225,937646.737008509,289.350102,13.900661 +BKGR777,14.3795859540819,115.621672326651,289.357301,13.891999 +BKGR778,23.1604173526129,186.225541864932,289.348832,13.888988 +BKGR779,24.2519341946944,195.002081263018,289.349945,13.888424 +BKGR780,283.62622271749,2280.54815284707,289.343957,13.893125 +BKGR781,2.65917170587818,21.3815530307442,289.348713,13.902827 +BKGR782,12.6691179991658,101.868344098698,289.347318,13.887921 +BKGR783,4.91752278815491,39.5402350447708,289.345095,13.888773 +BKGR784,4.30275265394673,34.5970641328537,289.359508,13.899369 +BKGR785,2.61063635238284,20.9912957065058,289.342605,13.891113 +BKGR786,1.79368584607612,14.4224567949464,289.352535,13.904845 +BKGR787,1.258190440431,10.1167087350482,289.355898,13.904479 +BKGR788,3294172.83224002,26487394.9092039,334.311607,-54.32132 +BKGR790,2012.54862051764,16182.2626803026,7.23095,74.165878 +BKGR791,26.0463205538984,209.430170660989,7.249986,74.167526 +BKGR792,2083.27393959016,16750.9424526627,7.211161,74.15667 +BKGR793,504.366672005627,4055.45182381025,151.599223,34.432003 +BKGR794,720.686490503193,5794.81061007531,78.282647,11.54793 +BKGR795,162.834483575793,1309.30023740602,51.277129,-29.27446 +BKGR796,13419.810435327,107904.422964187,357.836401,7.335228 +BKGR797,3.32465343817365,26.7324797567669,357.828814,7.336934 +BKGR798,3773.51761068923,30341.6536536717,268.31909,-51.791866 +BKGR799,184.393828348503,1482.65206442298,292.41301,-61.367435 +BKGR800,11932.9104405345,95948.7335215722,255.663191,-10.871582 +BKGR801,267.760420356341,2152.97628758906,178.243352,-70.523056 +BKGR802,12845.3629865957,103285.473927811,178.245015,-70.527779 +BKGR803,256.298686892505,2060.81613811863,337.899492,23.007748 +BKGR804,3.63702579433846,29.244166416155,337.901087,23.002193 +BKGR805,2419.6156293867,19455.3588921645,338.111352,23.716385 +BKGR806,522.091209660755,4197.96918776264,231.437539,-54.717819 +BKGR807,11.9329104405345,95.9487335215722,231.440082,-54.718624 +BKGR808,4.38274679823713,35.2402715776807,231.434135,-54.717075 +BKGR809,16.4720018030294,132.446121961754,231.437513,-54.714569 +BKGR810,4.06206044092653,32.6617346821821,231.429818,-54.7206 +BKGR811,6467.64808385255,52004.2990016003,231.447625,-54.713978 +BKGR812,1053771.33635309,8473039.80435172,231.43593,-54.725338 +BKGR813,1.2380733665466,9.95495374903814,231.450958,-54.711468 +BKGR814,38.2601246975569,307.637481015366,231.453777,-54.721977 +BKGR815,7.22347844443328,58.0816902814787,231.454972,-54.715805 +BKGR816,3.48936484392805,28.0568717278161,231.446032,-54.708649 +BKGR817,1.02034345055352,8.20425681777392,231.44086,-54.707211 +BKGR818,366.223645275029,2944.68772935989,127.799458,-20.427391 +BKGR819,409.021729875905,3288.81350111245,141.796373,78.005058 +BKGR820,396.959665664558,3191.82628324117,15.582459,-17.018827 +BKGR821,1810.28261686723,14555.9061446159,52.904906,6.458623 +BKGR822,373.892179328633,3006.34797009303,304.219093,47.332741 +BKGR823,105.863532384308,851.214957910911,304.21064,47.326481 +BKGR824,47.7250488006117,383.741922181795,304.206322,47.333885 +BKGR825,1.43795859540819,11.5621672326651,304.228934,47.326653 +BKGR826,15408.0039511224,123890.854001863,323.535755,52.272964 +BKGR827,5.6590871372518,45.5029178684766,323.538119,52.270084 +BKGR828,7.01045782850544,56.3688593326406,323.524231,52.276928 +BKGR829,7722.29487598109,62092.514388914,348.975975,76.776237 +BKGR830,3.02514629029665,24.3242381410552,348.961141,76.777588 +BKGR831,2.35367438609326,18.9251463499374,348.973745,76.772552 +BKGR832,1.1823508860026,9.50690702451774,348.964719,76.766991 +BKGR833,232.138076285941,1866.54836075117,348.966728,72.383621 +BKGR834,226.853968547702,1824.0605328401,27.990413,36.89819 +BKGR835,854.567517664955,6871.30532297478,322.699764,72.968513 +BKGR836,425.349945160239,3420.10348145771,293.112262,-41.96661 +BKGR837,11034.3404941306,88723.6186790828,239.949788,-56.314476 +BKGR838,3.18233856012983,25.5881711341867,239.948089,-56.31279 +BKGR839,3.00432132971465,24.1567912634945,239.952324,-56.310856 +BKGR840,3.54606246159086,28.512759219434,239.941868,-56.311127 +BKGR841,502.049317645963,4036.81871522886,239.9434,-56.310135 +BKGR842,62.6248042168493,503.546111536386,239.959687,-56.317261 +BKGR843,2.94948628561843,23.7158801328989,239.938839,-56.312447 +BKGR844,6741.34232498172,54204.9872527488,239.948837,-56.321095 +BKGR845,2.57481707879828,20.7032843321451,239.947053,-56.306988 +BKGR846,255.121101392882,2051.34754804873,239.935815,-56.313831 +BKGR847,7.93864499144712,63.8321167834562,239.933091,-56.314499 +BKGR848,21.2689662030683,171.016985392385,239.96196,-56.308216 +BKGR849,2.14163956336082,17.2202418503159,239.939235,-56.322529 +BKGR850,15.9862419303257,128.540281486894,239.936003,-56.307915 +BKGR851,617.655596907493,4966.37199877703,239.945213,-56.324596 +BKGR852,1.64341172501676,13.2141504334291,239.952521,-56.324978 +BKGR853,61.4817727219209,494.355359216558,239.940979,-56.324272 +BKGR854,204.996469289946,1648.31134053857,95.976596,54.821934 +BKGR855,652.749249475651,5248.54888557599,192.377215,19.2439 +BKGR856,73.4085052713496,590.254418282732,199.059566,22.863438 +BKGR857,13296.7768737273,106915.149268138,55.878874,52.220577 +BKGR858,2628.73241907004,21136.8004171136,55.87412,52.213753 +BKGR859,227901.078890339,1832480.01371478,57.882611,49.788128 +BKGR860,23645.384534431,190125.008564767,57.883855,49.789261 +BKGR861,3241502.65122079,26063890.7533376,58.431824,53.273075 +BKGR862,35.0547102025244,281.863763635796,58.434216,53.274895 +BKGR863,2.86250583844656,23.0164980509777,58.421144,53.269596 +BKGR864,34573.7415474969,277996.44781679,261.278011,-14.880802 +BKGR865,60.3596039029682,485.332357031762,261.269721,-14.886404 +BKGR866,6248.07711640253,50238.798761745,334.135751,48.984509 +BKGR867,1485.06814042046,11940.9600848556,334.15214,48.982933 +BKGR868,1345.07462933407,10815.3168348778,242.208641,-54.215145 +BKGR869,5.41684465671833,43.555123210322,242.202657,-54.217213 +BKGR870,56.3308599368477,452.938509515831,242.201739,-54.212204 +BKGR871,28.8234778100503,231.760407935953,242.203382,-54.210857 +BKGR872,8.88681994682266,71.4560897093002,242.209622,-54.209507 +BKGR873,1.63963198293595,13.1837587307931,242.206982,-54.209454 +BKGR874,1.77724123539423,14.2902309162686,242.201225,-54.209846 +BKGR875,41.3757978288308,332.689616661793,242.19688,-54.216881 +BKGR876,10.3692269790419,83.3756526703824,242.215169,-54.207813 +BKGR877,2.13179962338373,17.1411220259079,242.196097,-54.219753 +BKGR878,3.81721288526114,30.6929934443241,242.21971,-54.209621 +BKGR879,1.19329104405345,9.59487335215722,242.208092,-54.206448 +BKGR880,51.9692418447927,417.868127137372,242.20103,-54.207577 +BKGR881,8.14228652730382,65.4695335356566,242.214541,-54.224113 +BKGR882,191.313836613041,1538.29364761008,242.219054,-54.208031 +BKGR883,1.56583638750746,12.5903918438028,242.191907,-54.215469 +BKGR884,1.01098888557054,8.12903973915469,242.195645,-54.208836 +BKGR885,6.14817727219209,49.4355359216558,242.219129,-54.206913 +BKGR886,2.35367438609326,18.9251463499374,242.216027,-54.205147 +BKGR887,408.081006002002,3281.24943996037,137.451619,-18.15591 +BKGR888,567.213268040673,4560.78129274025,352.32332,15.533185 +BKGR889,119329.104405345,959487.335215722,20.127012,81.725662 +BKGR890,688.250255276358,5534.00117002028,53.814874,-85.148399 +BKGR891,67.8807107759515,545.807182745012,75.370924,-11.535932 +BKGR892,38881.801712962,312636.187959899,84.318505,6.696542 +BKGR893,200.791988713644,1614.50445089312,344.80684,29.45977 +BKGR894,27.3367185315953,219.805849948604,344.805981,29.468821 +BKGR895,3595.39310434041,28909.4112113527,265.345444,16.839069 +BKGR896,3.73032251178931,29.9943356163462,265.351808,16.841068 +BKGR897,649.750139100208,5224.43399393667,265.337384,16.84222 +BKGR898,38.2601246975569,307.637481015366,265.347594,16.829294 +BKGR899,7010.45782850544,56368.8593326406,100.485435,16.131371 +BKGR900,1.48849157604603,11.9684868407298,100.488674,16.13018 +BKGR901,12524.0958046493,100702.266806346,201.45551,-50.073975 +BKGR902,420.481004600315,3380.95388064199,23.059453,-19.30892 +BKGR903,16701.1501739666,134288.631053691,124.40449,74.01194 +BKGR904,1.65099736888049,13.275144180537,124.413079,74.012131 +BKGR905,79021.7023091702,635388.348472675,260.013992,73.939987 +BKGR906,234.286023459876,1883.81932008982,100.117152,57.804688 +BKGR907,6437931.94019005,51765360.9517615,224.124758,17.103231 +BKGR908,143.135177579651,1150.90438997191,145.678562,-39.532043 +BKGR909,17090.1699360485,137416.615100218,112.486111,-51.180359 +BKGR910,125.529668271894,1009.34409506318,251.44426,-63.504898 +BKGR911,1.3358152007155,10.7408647174742,251.454838,-63.501911 +BKGR912,150.57274961671,1210.70753866623,251.443527,-63.515335 +BKGR913,42048.1004600315,338095.388064199,61.073238,-25.048426 +BKGR914,587.146371248895,4721.05702911777,261.059488,8.207926 +BKGR915,248740.430221107,2000042.60270448,158.300537,-48.126839 +BKGR916,35.6243034222764,286.443681362492,164.34978,37.335247 +BKGR917,224.257192643039,1803.18068458066,251.218879,-48.464149 +BKGR918,61.058535175508,490.952240860859,251.221872,-48.467545 +BKGR919,1.22672264169531,9.86368618447702,251.215247,-48.468369 +BKGR920,11.0343404941306,88.7236186790828,251.220103,-48.459278 +BKGR921,5.87146371248895,47.2105702911777,251.221443,-48.459225 +BKGR922,5.3302353003937,42.8587249517514,251.225059,-48.468296 +BKGR923,21.0255023601971,169.059370148543,251.214293,-48.469601 +BKGR924,38.4367254091861,309.057471109508,251.208281,-48.463387 +BKGR925,1.02741613346786,8.26112600920989,251.22108,-48.456497 +BKGR926,1.33889457278123,10.7656249678106,251.214749,-48.455711 +BKGR927,2.73997361760793,22.0312554763652,251.214629,-48.472702 +BKGR928,2.17643840686561,17.5000482713008,251.223172,-48.455105 +BKGR929,9.7891815082419,78.7116917209119,251.206068,-48.459915 +BKGR930,238.641725837675,1918.84213609345,251.204989,-48.461002 +BKGR931,1.34817534658723,10.8402487150701,251.232736,-48.469482 +BKGR932,16.5099736888049,132.75144180537,251.221504,-48.474697 +BKGR933,42.6330478050256,342.798763423353,251.218566,-48.474991 +BKGR934,283.62622271749,2280.54815284707,251.218975,-48.453121 +BKGR935,1447.92604821417,11642.3123471311,68.743274,4.731973 +BKGR936,2007.91988713645,16145.0445089312,154.623949,-66.623138 +BKGR937,18481.8900022941,148606.993041816,146.118562,5.612106 +BKGR939,1971.27121894512,15850.3642366093,229.035598,-63.390907 +BKGR940,170.901699360485,1374.16615100218,229.051929,-63.387611 +BKGR941,9.19912205464323,73.9672115241187,229.018361,-63.395988 +BKGR942,1.21268046373363,9.75077750238964,229.023105,-63.400253 +BKGR943,6946.18556480678,55852.0665239471,357.991735,37.521973 +BKGR944,210.255023601971,1690.59370148543,117.393704,70.719711 +BKGR945,19.1313836613041,153.829364761008,21.963113,20.59049 +BKGR946,23645.384534431,190125.008564767,75.859542,5.097125 +BKGR947,17528.565714872,140941.615976486,75.860973,5.096861 +BKGR948,777.582326683738,6252.29191368338,217.993222,-50.432529 +BKGR950,1351.28321173187,10865.238069182,222.285533,7.338561 +BKGR951,16.7782391805776,134.908479211407,222.290906,7.344396 +BKGR952,40996.4622342303,329639.499922632,67.364445,65.929604 +BKGR953,3355.41607768152,26979.8323465035,59.694777,3.527321 +BKGR954,29427.0265540525,236613.351222012,239.742686,27.033813 +BKGR955,252.20075429422,2027.8659668405,166.50694,-65.103935 +BKGR956,1.84393828348503,14.8265206442298,166.517492,-65.104813 +BKGR957,1.26691179991658,10.1868344098698,166.509405,-65.099365 +BKGR958,10.4651722549822,84.1471180861105,166.528355,-65.09787 +BKGR959,9072.90536831224,72952.3433355827,90.740976,48.416912 +BKGR960,19131.3836613041,153829.364761008,85.720751,-13.702567 +BKGR961,153.372106035209,1233.21627233762,62.253989,33.282169 +BKGR962,3.76483876102018,30.2718697867501,62.246807,33.290066 +BKGR963,1258.190440431,10116.7087350482,148.821936,-55.786922 +BKGR964,1.06352176247923,8.55143987638459,148.820786,-55.784023 +BKGR965,3.8971433522808,31.3356888804914,148.827354,-55.777081 +BKGR966,44.2329985506418,355.663457959005,148.829636,-55.777222 +BKGR967,3721.74300809089,29925.3505587436,143.142157,-7.473834 +BKGR968,2.17643840686561,17.5000482713008,143.139405,-7.479192 +BKGR969,3537.90674424795,28447.1816929863,347.279243,81.105827 +BKGR970,41090.9688400319,330399.397449835,65.610467,51.80912 +BKGR972,6648.84764074688,53461.2669462874,65.619862,51.808075 +BKGR973,27462.8990912367,220820.427653932,65.614466,51.814465 +BKGR974,316.04314955737,2541.20234031021,150.181979,-27.225204 +BKGR975,57.1145002583081,459.239511836703,150.18776,-27.217173 +BKGR976,97666.6701554352,785306.59853535,280.910803,49.698437 +BKGR977,319702.756751824,2570628.07657498,301.950095,-31.7579 +BKGR978,11.5277986199851,92.6913583564741,301.962575,-31.766787 +BKGR979,154.080039511224,1238.90854001863,163.274177,-35.35017 +BKGR980,333.999934119261,2685.58712769457,112.395373,-15.560338 +BKGR981,2.02649894110323,16.2944327664754,112.390271,-15.565776 +BKGR982,6946.18556480678,55852.0665239471,127.070483,-9.193767 +BKGR983,3611.98868487842,29042.8509905761,98.64485,-30.264339 +BKGR984,192639.96077521,1548956.58977214,157.956003,-32.914257 +BKGR985,342.567675797262,2754.47761063591,239.034072,-10.109444 +BKGR986,1204332430.14041,9683653622.20496,133.149142,28.330822 +BKGR987,82.5555701596371,663.803054706716,140.549992,44.493313 +BKGR988,533.02353003937,4285.87249517514,172.441887,44.643978 +BKGR989,11661284.2368225,93764673.7008509,252.969995,-49.11504 +BKGR990,2.0737021652953,16.6739788631241,252.965544,-49.11655 +BKGR991,37.6483876102018,302.718697867501,252.967646,-49.118626 +BKGR992,10.7583676408227,86.5046088328947,252.960829,-49.113377 +BKGR993,2.15648469961396,17.3396068643702,252.963996,-49.12096 +BKGR994,56852.0829664452,457129.497944126,252.982654,-49.12038 +BKGR995,59.6686732305461,479.776803480894,252.977686,-49.12492 +BKGR996,4224.21856733597,33965.5965469595,274.716518,-39.917545 +BKGR997,7.27354920496824,58.484293324863,274.718884,-39.915413 +BKGR998,5.56860459152575,44.7753765271177,274.709286,-39.92392 +BKGR999,5196.92418447927,41786.8127137372,203.166918,-27.481533 +BKGR1000,377351.761068923,3034165.36536717,200.09132,-18.171741 +BKGR1001,627.691693001509,5047.06905206677,176.644198,-46.18589 +BKGR1002,73917.3487207965,594345.866448583,144.971294,-5.822221 +BKGR1005,61481.7727219209,494355.359216558,337.1996,-34.781506 +BKGR1006,163.963198293595,1318.37587307931,36.775428,-21.16342 +BKGR1007,770.453409062292,6194.97055687224,15.10449,-31.303589 +BKGR1008,2997.41158239977,24101.2321853366,15.132264,-35.960854 +BKGR1009,381.721288526114,3069.29934443241,154.385902,-33.297588 +BKGR1011,10.3453784187806,83.1838939904876,154.383897,-33.307083 +BKGR1012,66.0307729553139,530.932421732736,322.765639,-8.006863 +BKGR1013,236.998927752263,1905.63291974071,26.569738,57.482716 +BKGR1014,593.945205798638,4775.72429304482,31.454552,-27.043245 +BKGR1015,101.098888557054,812.903973915469,31.463588,-27.037682 +BKGR1016,55.814415508709,448.785944300403,152.009645,-39.035912 +BKGR1017,829.366293578075,6668.67030393401,209.343576,-23.893562 +BKGR1018,43.8274679823713,352.402715776807,209.336627,-23.901966 +BKGR1019,409.964622342303,3296.39499922632,253.839969,40.488335 +BKGR1020,41.2806361345335,331.92445177657,253.831791,40.48793 +BKGR1021,268.377671873101,2157.93941050802,189.300639,-44.523838 +BKGR1022,49630.240662932,399060.963350853,63.590653,-36.983471 +BKGR1023,75.9882391992769,610.997237433244,272.700641,42.285931 +BKGR1024,4997.42610562428,40182.7121800483,273.95331,44.034061 +BKGR1025,790.217023091702,6353.88348472676,42.278975,32.124664 +BKGR1026,138.914116504505,1116.96418181433,125.374905,55.869186 +BKGR1027,1948.70626389636,15668.9266175398,235.212048,-33.465637 +BKGR1028,442.329985506418,3556.63457959005,303.244346,16.450636 +BKGR1029,1.28453629865957,10.3285473927811,303.236496,16.453098 +BKGR1030,1.35439824124558,10.8902850297045,303.24519,16.439913 +BKGR1031,827.458804035117,6653.33278784651,287.070855,22.490923 +BKGR1032,1.47824487211068,11.8860963568436,287.063499,22.493521 +BKGR1033,1.90873826998968,15.347556703984,287.079887,22.484985 +BKGR1034,19.5770108332469,157.412510966939,107.107349,65.145576 +BKGR1035,2598.64156789671,20894.8494634837,58.666278,-26.283064 +BKGR1036,754.651398400506,6067.9116203581,204.181634,-59.27512 +BKGR1037,3.09561099948468,24.89082243231,204.182907,-59.271286 +BKGR1038,10.8579135909743,87.3050261235335,204.189787,-59.273067 +BKGR1039,9.76666701554352,78.5306598535351,204.197538,-59.278511 +BKGR1040,15.2316299883683,122.472687123233,204.188632,-59.285194 +BKGR1041,10.3215847086859,82.9925763433178,204.169681,-59.265827 +BKGR1042,148.165257847832,1191.34966387629,277.318883,-43.870495 +BKGR1043,3546.06246159086,28512.759219434,278.005167,-46.699707 +BKGR1044,5.59430810246353,44.982050274803,278.00959,-46.692974 +BKGR1045,47178.7446844981,379349.264722414,67.570788,55.503342 +BKGR1046,8565.37499246811,68871.4531765016,67.572338,55.502567 +BKGR1047,1.46132354298576,11.7500373369483,67.583324,55.496204 +BKGR1048,5125.61971153263,41213.4761494726,114.410815,-9.290774 +BKGR1049,16739.6503012923,134598.198319425,192.513632,-28.372135 +BKGR1050,318233856.012983,2558817113.41867,154.901455,19.870068 +BKGR1051,89.6904867937461,721.172647668656,135.543582,-7.602593 +BKGR1052,52.5710173036561,422.706812002229,135.808305,-10.095798 +BKGR1053,1.09331770524085,8.791019565372,135.797403,-10.096598 +BKGR1054,337.867471079203,2716.68476100067,74.133637,33.02747 +BKGR1055,79569.4545816832,639792.650096583,110.544261,41.10976 +BKGR1056,1.05134772953385,8.45355235357275,110.553895,41.103008 +BKGR1057,70.4281663159737,566.290461655525,280.687263,5.937688 +BKGR1058,2.31604173526129,18.6225541864932,280.687823,5.945363 +BKGR1059,1.62834483575793,13.0930023740602,280.681349,5.945062 +BKGR1060,96.5486890269937,776.317268236634,280.680358,5.944345 +BKGR1061,125240.958046493,1007022.66806345,280.696459,5.933026 +BKGR1062,18.1445574928739,145.894609737188,97.033582,-0.170681 +BKGR1063,5.05529357263159,40.6480060577759,97.030251,-0.176355 +BKGR1064,610.58535175508,4909.52240860859,291.777056,1.383714 +BKGR1065,11.6881662732825,93.9808235970278,291.776523,1.38272 +BKGR1066,1594.94745941687,12824.4647043243,78.919804,16.278751 +BKGR1067,59394.5205798638,477572.429304482,153.716027,-47.156796 +BKGR1068,5.63308599368477,45.2938509515831,153.701424,-47.162327 +BKGR1069,20594.269,165591.96,258.828924,4.963803 +BKGR1070,127863.439047041,1028109.20281463,119.774462,15.391521 +BKGR1072,799367.304965987,6427457.98791088,351.77,-1.286352 +BKGR1073,17288.0647771168,139007.82450932,344.445207,38.675079 +BKGR1074,49062.1279959102,394492.950277266,344.441358,38.674225 +BKGR1075,1221086.36313128,9818366.66308383,297.709244,48.080791 +BKGR1076,972.179325674047,7816.98442463987,209.389489,43.493534 +BKGR1077,13205.2425055709,106179.150557507,129.882536,47.352051 +BKGR1078,17568.9732320089,141266.519956396,260.116169,38.242165 +BKGR1079,2849.35381879008,22910.746848404,66.248026,39.460636 +BKGR1080,3489.36484392805,28056.8717278161,9.573181,42.463078 +BKGR1081,14.9192290350576,119.960770523299,9.565315,42.462692 +BKGR1082,75.4651398400506,606.79116203581,9.567012,42.467712 +BKGR1083,35624.3034222764,286443.681362492,324.536396,30.488716 +BKGR1084,2.69616446921871,21.6790000626041,324.529541,30.493057 +BKGR1085,727.354920496824,5848.4293324863,256.346473,33.012512 +BKGR1086,354.606246159086,2851.2759219434,9.516742,34.711575 +BKGR1087,31242.5433540064,251211.343766311,111.916469,24.33663 +BKGR1090,965.486890269938,7763.17268236634,171.274955,41.027954 +BKGR1091,181445.574928739,1458946.09737188,155.681719,50.128345 +BKGR1093,2976.777546204,23935.3204699769,155.683211,50.13068 +BKGR1094,201.718802423128,1621.95666484198,306.123854,16.762152 +BKGR1095,357.064259230242,2871.04002243944,108.825058,14.262599 +BKGR1096,11.6881662732825,93.9808235970278,108.825284,14.261271 +BKGR1097,190.873826998968,1534.7556703984,48.435419,25.197405 +BKGR1098,3271.49590596981,26305.0569651934,213.156383,4.059997 +BKGR1099,969.943375271965,7799.00585936312,222.767436,5.947368 +BKGR1100,98.117479022062,788.931409098431,13.000766,34.728413 +BKGR1101,629.138671793397,5058.70374782738,33.131142,51.778759 +BKGR1102,2.78449460739425,22.3892345801564,33.137162,51.785828 +BKGR1103,13.4817534658723,108.402487150701,33.118489,51.783855 +BKGR1104,4443.7168795336,35730.5125890632,206.094121,48.028667 +BKGR1105,1.19329104405345,9.59487335215722,206.097737,48.027431 +BKGR1106,8805.34509182215,70800.9763410981,123.949894,5.836719 +BKGR1107,1029.78457226058,8280.16987145264,271.537705,26.426662 +BKGR1108,1275.69361297804,10257.4461726471,31.042848,46.687836 +BKGR1109,1235.22587682055,9932.05799076594,113.184212,33.835052 +BKGR1110,7059.05200067218,56759.5895990884,303.195342,18.104868 +BKGR1111,195.319849577853,1570.50472238184,303.200726,18.109133 +BKGR1112,23.5367438609326,189.251463499374,303.199931,18.110012 +BKGR1113,310.98996906418,2500.57132485144,188.266255,44.915352 +BKGR1114,26.8377671873101,215.793941050802,284.296064,51.269138 +BKGR1115,12.1268046373363,97.5077750238964,284.298395,51.261303 +BKGR1116,86.8453122796765,698.295505278857,113.758247,17.830082 +BKGR1117,2117.12441800008,17023.1233718707,229.991354,36.229664 +BKGR1119,1221.08636313128,9818.36666308383,335.512861,45.457378 +BKGR1120,2332.09576961708,18751.6395652888,297.322651,4.672421 +BKGR1121,1.36693033387428,10.991051596427,297.316887,4.666824 +BKGR1122,2.87571856506751,23.122737378924,297.313883,4.674419 +BKGR1123,294.948628561843,2371.58801328989,135.344391,6.09723 +BKGR1124,21.4657655243142,172.599386075399,128.925737,10.206653 +BKGR1125,66.1829896074435,532.156347368106,213.144074,47.014687 +BKGR1126,784.777207367785,6310.14365847887,274.373238,-3.381036 +BKGR1127,8.78509336009057,70.6381386142127,274.366717,-3.387076 +BKGR1128,1.96673742095311,15.8139094104758,274.366781,-3.389048 +BKGR1129,1485.06814042046,11940.9600848556,270.444201,-2.970947 +BKGR1130,5.41684465671833,43.555123210322,270.446814,-2.977166 +BKGR1131,2.51620708655439,20.2320200454035,270.447648,-2.962252 +BKGR1132,1.43795859540819,11.5621672326651,270.452358,-2.964057 +BKGR1133,5620.13025541724,45189.6779851638,305.441397,26.692652 +BKGR1134,73408.5052713496,590254.418282732,305.449786,26.688166 +BKGR1135,5.64607159801351,45.3982640614916,305.438501,26.70142 +BKGR1136,411.856933060597,3311.61046721751,274.405476,36.62141 +BKGR1137,394.227014547281,3169.85390565855,118.063411,12.13941 +BKGR1138,30.3211997271625,243.803113010338,21.06519,32.810764 +BKGR1139,29.8363972715294,239.90497082131,42.721679,29.022396 +BKGR1140,9.90253488775845,79.6231301549136,21.871105,38.968147 +BKGR1141,588.499883421198,4731.94018954922,99.898,25.482536 +BKGR1142,2.77170101678634,22.2863653914418,99.890985,25.48045 +BKGR1143,29.4270265540524,236.613351222012,264.273447,25.731186 +BKGR1144,1843.93828348503,14826.5206442298,100.848071,27.252287 +BKGR1145,4599.87871878999,36986.1602180065,274.743421,10.597294 +BKGR1146,6063.82111758711,48757.2549407138,354.774222,42.465973 +BKGR1147,36.9612270943346,297.193458945106,315.905492,11.989404 +BKGR1148,26.3479227313908,211.8552577428,150.572631,53.950863 +BKGR1149,15694.460131717,126194.156944968,256.610682,44.776981 +BKGR1150,5777.58550016263,46455.7254758355,292.24731,47.969513 +BKGR1151,13891.4116504505,111696.418181433,343.041067,35.447109 +BKGR1152,120.433243014041,968.365362220494,110.168529,37.140652 +BKGR1153,327.903748290394,2636.56963841508,175.525336,-23.354836 +BKGR1154,7.12436860464379,57.284779615408,289.400767,-22.389914 +BKGR1155,7.7937483907191,62.6670493507694,289.401384,-22.383919 +BKGR1156,12.9642196669243,104.241162651442,316.961465,-26.096655 +BKGR1157,51.2561971153263,412.134761494726,176.739094,-22.562992 +BKGR1158,142.477531176358,1145.6164646317,174.009715,-29.543312 +BKGR1159,51.7304648679584,415.948197491078,268.890685,-61.747311 +BKGR1160,324.150265122078,2606.38907533375,268.86985,-61.749802 +BKGR1161,47.8350664003764,384.626538672894,207.907777,-23.781174 +BKGR1162,45.7874419584355,368.162242480351,144.926863,-28.58559 +BKGR1163,35.1355196552929,282.513526716509,193.55256,-46.587715 +BKGR1164,70.5905200067218,567.595895990884,193.560043,-46.590881 +BKGR1165,165.480331088174,1330.57465483916,285.096424,-54.893192 +BKGR1166,252.20075429422,2027.8659668405,312.45744,-24.428793 +BKGR1167,200.791988713644,1614.50445089312,5.618693,-59.942551 +BKGR1168,33.3999934119261,268.558712769457,191.702787,-24.427364 +BKGR1169,643.793194019004,5176.53609517614,294.633634,-55.330105 +BKGR1170,95.00498224924,763.904813538993,296.688277,-63.565609 +BKGR1171,37.8221646717302,304.115983890205,112.419228,-29.937878 +BKGR1172,30.4611560260925,244.928457049214,94.112075,-22.546885 +BKGR1173,39.604668376851,318.448528650022,103.517344,-27.050377 +BKGR1174,1.16344640273308,9.354902093564,103.507976,-27.046686 +BKGR1175,34.6534422530077,278.637295813819,80.538157,-30.970844 +BKGR1176,2.59266485814248,20.8467926432803,80.547806,-30.976128 +BKGR1177,13.5128321173187,108.65238069182,6.702437,-56.316124 +BKGR1178,247.028113143709,1986.2744062714,67.222871,-21.481916 +BKGR1179,169.334863162828,1361.56772000329,102.847505,-29.058611 +BKGR1180,9.58840525267096,77.0973137752099,140.087718,-31.26932 +BKGR1181,74.4297193045324,598.465675178243,88.146797,-19.031656 +BKGR1182,3.06017583339464,24.6058995440165,88.138377,-19.033834 +BKGR1183,128.158194715504,1030.4792392972,341.364027,-14.99176 +BKGR1184,24.5893122061373,197.714830434924,144.287622,-29.800419 +BKGR1185,100.172008375483,805.451225485722,292.939809,-26.740179 +BKGR1186,5.87146371248895,47.2105702911777,180.208792,-46.13641 +BKGR1187,140.199472998964,1127.2993241404,15.005901,-58.904778 +BKGR1188,41.3757978288308,332.689616661793,290.810104,-20.166317 +BKGR1189,1.27275959908622,10.2338547011065,290.813313,-20.160477 +BKGR1190,19.758154684209,158.869030997961,290.810896,-20.17708 +BKGR1191,1891238.85234513,15206849.4583605,247.623437,38.347324 +BKGR1192,2151524.92243721,17299726.8752402,42.435295,71.75322 +BKGR1193,35871239.2966758,288429214.106389,300.182124,22.710873 +BKGR1194,5925.79169732399,47647.4043196972,300.179061,22.709513 +BKGR1195,2.8167375353375,22.6484896978914,300.176363,22.708496 +BKGR1196,1.11621121351706,8.97509897633501,300.172699,22.709558 +BKGR1197,28.8899227886355,232.294670853276,300.188473,22.700834 +BKGR1198,6134036.85685843,49321837.3441381,330.794914,18.884359 +BKGR1199,236998.927752263,1905632.91974071,154.671097,10.129043 +BKGR1200,23000982.1610065,184943574.251949,168.63817,25.71039 +BKGR1201,76.868141539375,618.072251997025,284.985377,-22.293427 +BKGR1202,1.83546615664287,14.7583989697405,284.978563,-22.287868 +BKGR1203,30813.8795890003,247764.594914564,284.975101,-22.293108 +BKGR1204,301.818864690153,2426.82939457658,126.936744,17.579386 +BKGR1205,53425.2276177232,429575.245164804,67.412415,22.882765 +BKGR1206,126.109086894354,1014.00301572473,188.137361,-9.607622 +BKGR1207,19.8493541825194,159.60233712678,188.144892,-9.615799 +BKGR1208,49516.094276936,398143.148604236,350.91652,-1.189307 +BKGR1209,45892.9929131279,369010.944100563,73.766483,18.654562 +BKGR1210,756.391049539638,6081.89960127867,253.768887,-28.710564 +BKGR1211,43.1267152320439,346.768186024763,253.764866,-28.707253 +BKGR1212,3.75617987215145,30.2022464182685,253.766135,-28.716984 +BKGR1213,192196.901160201,1545394.08847403,253.776072,-28.705532 +BKGR1214,11.5810085207865,93.1192022272673,347.704375,-7.857524 +BKGR1215,8236.56976171773,66227.6350046497,242.573773,-24.990332 +BKGR1216,6.36423754266563,51.1728077648973,242.567226,-24.99481 +BKGR1217,448.483408557696,3606.11229515113,63.273348,15.247784 +BKGR1218,100.63438135791,809.169019422041,76.867348,16.86771 +BKGR1219,3.94227014547281,31.6985390565855,76.860198,16.872942 +BKGR1220,204.524990493977,1644.52032965477,76.859528,16.862766 +BKGR1221,15803.2489321579,127068.893051943,157.935441,0.937565 +BKGR1222,223.741415412626,1799.03348408972,335.624507,-7.95543 +BKGR1223,1080.80260095906,8690.38959653821,62.670291,24.401718 +BKGR1224,149.880930673988,1205.1448428167,62.671037,24.402699 +BKGR1225,101.799672573817,818.538755070967,52.341872,22.299374 +BKGR1226,147.145295387108,1183.14847047643,52.339483,22.290113 +BKGR1227,16972.5220337307,136470.645775709,245.440753,-23.547789 +BKGR1228,1882.54939913003,15136.9803317012,252.426112,-19.542799 +BKGR1229,799.367304965987,6427.45798791089,127.578792,22.235914 +BKGR1230,4557.70677720955,36647.0690629229,0.362142,39.383808 +BKGR1231,5724.61627791039,46029.8168246266,284.548373,-47.003242 +BKGR1232,9413397.13365175,75690129.2111788,161.707282,-9.398984 +BKGR1233,5416.84465671833,43555.123210322,267.640506,36.570232 +BKGR1235,4696.1978042794,37760.6313173011,108.301485,-42.409744 +BKGR1236,1.26691179991658,10.1868344098698,108.29829,-42.4156 +BKGR1237,1744.80292709859,14029.4048073273,117.415037,-52.120453 +BKGR1238,284.28004868599,2285.80535928751,314.268487,31.661034 +BKGR1239,2.64086609661449,21.2343634549953,314.273252,31.656446 +BKGR1240,2.99051772706272,24.0458008895125,314.26991,31.6677 +BKGR1241,1.62834483575793,13.0930023740602,314.259763,31.667253 +BKGR1242,170.116477378008,1367.85243104866,314.256605,31.660557 +BKGR1243,7686.8141539375,61807.2251997025,216.524016,59.444275 +BKGR1244,562013.025541724,4518967.79851638,92.663969,30.957184 +BKGR1245,8.19872616120759,65.9233466620078,92.661877,30.953283 +BKGR1246,27148.5338848933,218292.717120763,148.643324,40.388069 +BKGR1247,25512.1101392882,205134.754804873,157.06254,25.573223 +BKGR1248,10297.8457226058,82801.6987145264,195.981868,30.640051 +BKGR1249,357064.259230241,2871040.02243943,78.295529,33.318169 +BKGR1250,8293.66293578075,66686.7030393401,283.30551,24.12738 +BKGR1251,7740.09660417796,62235.6524174358,283.303331,24.125698 +BKGR1252,146.132354298576,1175.00373369483,165.1674,64.96402 +BKGR1253,10.7089374315343,86.107156258138,286.243425,50.040382 +BKGR1254,2470281.13143708,19862744.062714,289.752185,41.634533 +BKGR1255,54.2933177328306,436.55528138834,289.764463,41.63393 +BKGR1256,194.870626389636,1566.89266175398,285.268586,48.560013 +BKGR1257,21.220048938241,170.623657240723,299.407009,44.035046 +BKGR1258,28.9565209387154,232.83016537382,296.837254,48.239964 +BKGR1259,78.2972269877325,629.563073079385,296.849669,48.232895 +BKGR1260,36.3702579433846,292.44166416155,288.581518,41.089806 +BKGR1261,3.42567675797262,27.5447761063591,288.567302,41.09013 +BKGR1262,6.96219817626692,55.9808188344274,288.583625,41.079121 +BKGR1263,11.2136341038505,90.1652615093762,293.351293,43.13464 +BKGR1264,18825.4939913003,151369.803317012,11.247108,-15.271294 +BKGR1265,1.80196512376694,14.4890278308111,11.245929,-15.281094 +BKGR1266,1980.37019347361,15923.5261937617,215.122877,-31.20207 +BKGR1267,2.40295911255405,19.3214291435974,215.119372,-31.192595 +BKGR1268,2.61063635238284,20.9912957065058,215.135065,-31.202431 +BKGR1269,486.123237027655,3908.76217169708,303.381672,65.162041 +BKGR1270,299.741158239977,2410.12321853366,207.655866,-6.804028 +BKGR1271,75.2915748347965,605.39558109009,359.151996,36.212971 +BKGR1272,3.18233856012983,25.5881711341867,359.159001,36.215561 +BKGR1273,37.7351761068923,303.416536536717,4.859266,44.027641 +BKGR1274,2.61063635238284,20.9912957065058,4.849786,44.033623 +BKGR1275,137.957838452839,1109.27505447117,7.053898,42.061333 +BKGR1276,1.60970532655715,12.9431280152279,7.045091,42.059692 +BKGR1278,1891.23885234513,15206.8494583605,286.041062,36.632629 +BKGR1279,10.5377133635309,84.7303980435172,286.042481,36.633629 +BKGR1280,1777.24123539423,14290.2309162686,286.808473,49.316402 +BKGR1281,307.43009632566,2471.94752159228,268.029265,37.546154 +BKGR1282,583.104484059393,4688.55750112731,268.304354,37.211849 +BKGR1283,31.9702756751825,257.062807657499,305.221841,59.448788 +BKGR1284,660.307729553139,5309.32421732736,5.166978,31.98999 +BKGR1285,1296.42196669243,10424.1162651442,348.992912,31.462852 +BKGR1286,2671.44588478675,21480.2457953604,68.959728,-64.027039 +BKGR1287,5.85795972068204,47.1019889926072,68.945973,-64.022293 +BKGR1288,10489.2969685562,84341.0972268684,98.351102,-23.48621 +BKGR1289,15.5864202281107,125.325442478997,98.362175,-23.482721 +BKGR1290,213.179962338373,1714.11220259079,249.314868,7.183352 +BKGR1291,1635.8609340207,13153.4369271334,160.602432,7.435026 +BKGR1292,1155.43729403183,9290.50340052499,160.601768,7.443054 +BKGR1293,860.491096708917,6918.93493605328,166.429747,-5.079412 +BKGR1294,28757.1856506751,231227.37378924,188.386852,-10.146148 +BKGR1295,4728.75029232124,38022.3755092277,47.368964,30.673594 +BKGR1296,2.55709216270288,20.560763925275,47.367272,30.677927 +BKGR1297,609.181044415161,4898.23082040705,224.872776,46.960117 +BKGR1298,105.134772953385,845.355235357275,327.665717,10.46301 +BKGR1299,20689.3278266409,166356.297759149,36.775432,-50.284519 +BKGR1300,2031.17050362708,16331.9953133464,19.550553,2.702846 +BKGR1301,355.423697980392,2857.84879176926,55.933441,-65.193855 +BKGR1302,808.623542110697,6501.8844436893,97.63664,29.672291 +BKGR1303,1654.80331088174,13305.7465483916,62.616051,-45.89822 +BKGR1304,5269.22060145384,42368.1251841044,107.600275,-39.097393 +BKGR1305,244.763345789371,1968.06413305661,289.478676,-32.86113 +BKGR1306,5416.84465671833,43555.123210322,289.479327,-32.859962 +BKGR1307,61.058535175508,490.952240860859,332.714323,-30.749672 +BKGR1308,3145.91063186245,25295.2657613116,63.373865,-69.226807 +BKGR1309,28493.5381879008,229107.46848404,160.558664,-3.835064 +BKGR1310,2.53948926407163,20.4192246219848,160.563538,-3.832746 +BKGR1311,482.776788202497,3881.85444217303,176.298965,-42.063927 +BKGR1312,1.16077055026091,9.33338641580251,176.306032,-42.059822 +BKGR1313,9478.64768535275,76214.788122221,140.102976,33.882439 +BKGR1314,6.96219817626692,55.9808188344274,140.097121,33.887089 +BKGR1315,33323.1755587514,267941.044870189,210.193542,-30.583567 +BKGR1316,2640.86609661449,21234.3634549953,217.609126,-46.15918 +BKGR1317,82.3656976171773,662.276350046497,314.575373,-35.796555 +BKGR1318,114.484418124719,920.532755337502,267.284974,29.879107 +BKGR1319,19531.9849577853,157050.472238184,0.32575,-8.926325 +BKGR1320,399.711258614468,3213.95096606908,41.639084,-0.463922 +BKGR1321,420.481004600315,3380.95388064199,49.562228,-41.302147 +BKGR1322,29836.3972715294,239904.97082131,218.276477,21.894714 +BKGR1323,8526.02066915007,68555.0175927619,60.38562,-20.451092 +BKGR1324,663.355571551961,5333.83094443456,60.387701,-20.450634 +BKGR1325,79.7528811182225,641.267524475545,71.824413,-17.115154 +BKGR1326,45.0553513914939,362.275735322589,140.50639,-23.946169 +BKGR1327,1.41822906383817,11.4035283510149,140.505281,-23.945187 +BKGR1328,158.032489321579,1270.68893051943,320.76288,-40.04826 +BKGR1329,7975.28811182225,64126.7524475545,322.252865,-58.836193 +BKGR1330,862.474733550743,6934.88472832637,322.252604,-58.834763 +BKGR1331,173.279178823343,1393.28270639506,359.191558,-22.153164 +BKGR1332,2527.82137076294,20325.4068068414,208.927939,-32.159607 +BKGR1333,81.0487611890659,651.687283528702,349.063433,0.306745 +BKGR1334,110.852726957119,891.331482956459,279.26241,40.018707 +BKGR1335,214.657655243142,1725.99386075399,201.655321,-8.317587 +BKGR1336,163.963198293595,1318.37587307931,4.146313,-10.976422 +BKGR1337,119.879902525389,963.916127529856,68.136454,-38.968338 +BKGR1338,3211.78437628415,25824.9355666021,214.683032,-20.275484 +BKGR1339,109.83642304759,883.159706801904,87.679409,-27.623163 +BKGR1340,183.969734311786,1479.24205930145,87.686258,-27.618069 +BKGR1341,137.008143372977,1101.63885870833,344.873422,-60.447769 +BKGR1342,117.963155442545,948.504174511644,357.580534,-17.077572 +BKGR1343,2166.43858072595,17419.642853166,196.043901,-35.549519 +BKGR1344,6.33499652728133,50.937690070267,196.035462,-35.548157 +BKGR1345,133.889457278123,1076.56249678106,196.034366,-35.54871 +BKGR1346,449.517269588411,3614.4252425271,96.74463,-46.821438 +BKGR1347,837.040325408394,6730.37475053927,96.755426,-46.826237 +BKGR1348,744.297193045324,5984.65675178243,239.962306,-28.061733 +BKGR1349,924.15832727928,7430.86286599915,199.433836,-47.23756 +BKGR1350,1240.9274204144,9977.90228748415,354.168208,-34.611233 +BKGR1351,489.492882327898,3935.85641669175,354.170142,-34.611816 +BKGR1352,328.659644496838,2642.64755914059,195.793985,-41.384827 +BKGR1353,25.1041997084608,201.854876905583,195.803338,-41.385677 +BKGR1354,92203.2822108683,741377.2355664,24.354311,-45.677898 +BKGR1355,411.856933060597,3311.61046721751,148.417002,-45.659191 +BKGR1356,2909.01781665605,23390.486058767,307.725542,6.429536 +BKGR1357,5078.62774755856,40835.6287289735,5.160559,-23.935728 +BKGR1358,1299.41052797508,10448.1463348871,347.492721,18.396086 +BKGR1359,599.440913123685,4819.91352586201,52.818043,-23.819702 +BKGR1360,442.329985506418,3556.63457959005,101.127587,-42.761826 +BKGR1361,886.638082812452,7129.1745263479,227.215586,2.343304 +BKGR1362,835.115186082006,6714.89531816274,195.359879,-27.5222 +BKGR1363,2545.34339142159,20466.2957961046,4.602897,-15.267305 +BKGR1364,40.433969685076,325.116676427423,4.605523,-15.27075 +BKGR1365,231.071498708589,1857.97235004033,353.616152,-1.580064 +BKGR1366,20546.9034956789,165211.109060502,357.879538,-39.906719 +BKGR1367,5429.33177328306,43655.528138834,278.631793,35.661533 +BKGR1368,108.080260095906,869.038959653821,278.626065,35.659447 +BKGR1369,30.1818864690153,242.682939457658,278.621824,35.661396 +BKGR1370,279.091353039091,2244.08470962456,169.439021,-19.054773 +BKGR1371,3.1531627048407,25.3535773711353,169.436545,-19.064484 +BKGR1372,860.491096708917,6918.93493605328,3.961682,1.200451 +BKGR1373,20125.4862051764,161822.626803026,165.399561,-23.860636 +BKGR1374,3721.74300809089,29925.3505587436,76.081782,-6.229821 +BKGR1375,63.3499652728132,509.37690070267,131.580405,-8.026946 +BKGR1376,100.63438135791,809.169019422041,221.943987,1.064966 +BKGR1377,125240.958046493,1007022.66806345,243.959845,10.032566 +BKGR1378,782.972269877325,6295.63073079385,217.326702,-3.444534 +BKGR1379,223.741415412626,1799.03348408972,353.562841,-42.061428 +BKGR1380,2622.68650227859,21088.1871251588,190.618736,-30.63987 +BKGR1381,1155.43729403183,9290.50340052499,192.981545,-42.073608 +BKGR1382,6741.34232498172,54204.9872527488,154.908372,-9.806276 +BKGR1383,56.8520829664452,457.129497944126,3.903165,-11.938115 +BKGR1384,633.499652728132,5093.7690070267,5.237497,-35.99826 +BKGR1385,49.516094276936,398.143148604236,318.736981,-55.87178 +BKGR1386,801.210036915622,6442.27480880871,331.203047,-12.018885 +BKGR1387,529.354221868076,4256.36875644431,291.16233,55.47316 +BKGR1388,2222.01190342693,17866.4902469613,91.089427,-16.965294 +BKGR1389,314.591063186245,2529.52657613116,359.348991,-41.277149 +BKGR1390,1338.89457278123,10765.6249678106,43.688073,-10.89808 +BKGR1391,1022.69558512827,8223.16958299112,348.494748,8.761262 +BKGR1392,507.862774755856,4083.56287289735,31.909202,-20.661839 +BKGR1393,11501.2854188927,92478.1741480535,205.454308,-0.128076 +BKGR1394,500.894636257445,4027.5342898239,203.758114,-17.503464 +BKGR1395,366.223645275029,2944.68772935989,183.366285,23.055698 +BKGR1396,71.0798301154851,571.530282783536,223.820104,-2.057665 +BKGR1397,646.764808385255,5200.42990016003,274.701064,45.172016 +BKGR1398,589.856515761301,4742.84843825653,348.157246,-22.673937 +BKGR1399,122.390125791198,984.100033577838,75.299663,-26.054144 +BKGR1400,14182.2906383817,114035.283510149,87.139961,-63.988434 +BKGR1401,5043.66672005627,40554.5182381025,94.336431,-38.323257 +BKGR1402,137.957838452839,1109.27505447117,101.115041,-32.858402 +BKGR1403,1835.46615664287,14758.3989697405,101.123037,-32.858212 +BKGR1404,1.03931305159123,8.35678533996878,101.107368,-32.851505 +BKGR1405,1.6023094023946,12.8836597438321,101.103792,-32.857132 +BKGR1406,562.013025541724,4518.96779851638,133.324304,8.523038 +BKGR1407,440.297663830111,3540.2933280637,158.224966,-34.989845 +BKGR1408,926.288732245335,7447.99277402952,295.74384,-19.949596 +BKGR1409,14052.2666162623,112989.801746759,305.095785,-19.31468 +BKGR1410,433257.791049511,3483687.95246673,315.025778,-5.094404 +BKGR1411,50089.4636257445,402753.42898239,311.042609,-39.225273 +BKGR1412,3279.03748290394,26365.6963841508,315.476951,-13.433218 +BKGR1413,5966.86732305461,47977.6803480894,29.263338,0.758834 +BKGR1414,3011.24700564215,24212.4784185549,41.039999,-30.169039 +BKGR1415,11688.1662732825,93980.8235970278,319.94961,-58.148876 +BKGR1416,74945.6414714842,602614.04105775,304.538823,-1.075676 +BKGR1418,1080.80260095906,8690.38959653821,342.385707,-10.67556 +BKGR1419,71243.6860464379,572847.79615408,26.632746,2.700539 +BKGR1420,49062.1279959102,394492.950277266,37.155115,-7.060681 +BKGR1421,122.390125791198,984.100033577838,63.75624,-22.116434 +BKGR1422,10958.3806284621,88112.8495841768,66.370903,-30.600445 +BKGR1423,102269.558512827,822316.958299111,359.900292,-35.031391 +BKGR1424,21764.3840686561,175000.482713008,359.900526,-35.032494 +BKGR1425,55557.9715636779,446723.960187841,303.167407,-2.144208 +BKGR1426,5.19692418447927,41.7868127137372,303.169283,-2.142587 +BKGR1427,159.862419303257,1285.40281486894,304.20789,3.29405 +BKGR1428,386.141412726631,3104.84015580119,304.211733,3.288433 +BKGR1429,21714.3273743567,174597.992771745,72.660671,1.893921 +BKGR1430,504.366672005627,4055.45182381025,190.152085,-19.284243 +BKGR1431,17407.8999172403,139971.380716629,131.107099,1.860033 +BKGR1432,23054.0049009131,185369.913221577,175.90836,6.56373 +BKGR1433,593.945205798638,4775.72429304482,309.511192,-48.462067 +BKGR1434,123.522587682055,993.205799076594,313.899962,-18.971106 +BKGR1435,704.281663159737,5662.90461655525,315.531971,7.056235 +BKGR1436,12.5240958046493,100.702266806346,315.531968,7.058946 +BKGR1437,37.7351761068923,303.416536536717,246.692114,51.041115 +BKGR1438,1424.77531176358,11456.164646317,9.458792,51.288761 +BKGR1439,59.1216275461931,475.37818330741,9.456235,51.295605 +BKGR1440,1.79368584607612,14.4224567949464,9.466089,51.294701 +BKGR1441,16662.7385944765,133979.775772911,313.783098,-34.135555 +BKGR1443,8086.23542110697,65018.844436893,313.788158,-34.135521 +BKGR1444,34020.9456504521,273551.592013867,337.457189,-48.003086 +BKGR1446,151.965982115166,1221.91007759369,1.046351,-47.360626 +BKGR1447,11634.4640273308,93549.02093564,24.604338,-55.772083 +BKGR1448,64.8255755248989,521.241812918732,58.428794,-34.328194 +BKGR1449,101799.672573817,818538.755070967,39.897688,-50.008003 +BKGR1450,3704.64315224385,29787.856062317,240.54935,28.169586 +BKGR1451,6134.03685685843,49321.8373441381,117.026968,50.2258 +BKGR1452,6664.17481750248,53584.5078945447,117.031174,50.217556 +BKGR1453,20171.8802423128,162195.666484198,65.469581,57.817181 +BKGR1454,4894.92882327898,39358.5641669175,110.388223,58.268108 +BKGR1455,563.308599368477,4529.38509515831,116.716527,39.094578 +BKGR1456,7075.324796138,56890.4339663181,94.79328,73.827682 +BKGR1457,819.87261612076,6592.33466620078,94.767155,73.819916 diff --git a/src/detector_features.c b/src/detector_features.c index cf17a88..20ef70f 100644 --- a/src/detector_features.c +++ b/src/detector_features.c @@ -1,8 +1,8 @@ /** * @file detector_features.c * @author Gerald Mösenlechner (gerald.moesenlechner@univie.ac.at) -* @date November, 2023 -* @version 1.0 +* @date January, 2024 +* @version 1.1 * * @copyright * This program is free software; you can redistribute it and/or modify it @@ -201,7 +201,6 @@ void set_star_in_image(double *image, unsigned int width, unsigned int height, d */ void generate_starmask(double *mask, struct stars star_field, double exposure_time, unsigned int detector_width, unsigned int detector_height, unsigned int channel) { - unsigned int i; double signal; @@ -326,49 +325,57 @@ double complement(double x) * @param oversampling: Oversampling of the image * */ -void generate_linear_smearing_kernel(double *smear_kernel, double x_origin, double y_origin, double x, double y, unsigned int dim) +int generate_linear_smearing_kernel(double *smear_kernel, double x_origin, double y_origin, double x, double y, unsigned int dim) { double dx, dy, grad, xEnd, yEnd, xGap, x0, x1, y0, y1, inter; unsigned int xPoint1, xPoint2, yPoint1, yPoint2, i; bool steep; + int warning = 0; x0 = dim/2 + x_origin; y0 = dim/2 + y_origin; x1 = x0 + x; y1 = y0 + y; - if(x0 == x1 && y0 == y1){ + + if(fabs(x0-x1) < 1e-7 && fabs(y0 - y1) < 1e-7){ SET_PIXEL_SMEAR(smear_kernel, dim, (int) x0, (int )y0, 1); - return; + return warning; } - if(x0 > (dim-1)){ x0 = dim-1; - } + warning = 1; + } if(x0 < 0){ x0 = 0; + warning = 1; } if(x1 > (dim-1)){ x1 = dim-1; + warning = 1; } if(x1 < 0){ x1 = 0; } if(y0 > (dim-1)){ y0 = dim-1; + warning = 1; } if(y0 < 0){ y0 = 0; + warning = 1; } if(y1 > (dim-1)){ y1 = dim-1; + warning = 1; } if(y1 < 0){ y1 = 0; + warning = 1; } - steep = abs(y1 - y0) > abs(x1 - x0); + steep = fabs(y1 - y0) > fabs(x1 - x0); if(steep){ SWAP(double, x0, y0); SWAP(double, x1, y1); @@ -382,7 +389,8 @@ void generate_linear_smearing_kernel(double *smear_kernel, double x_origin, doub dx = x1 - x0; dy = y1 - y0; - if(dx == 0.0){ + + if(fabs(dx) < 1e-7){ grad = 1.0; } else{ @@ -441,7 +449,7 @@ void generate_linear_smearing_kernel(double *smear_kernel, double x_origin, doub } if((xPoint2 - xPoint1) <=1 && (yPoint2 - yPoint1) <=1){ - return; + return warning; } if(steep){ @@ -458,6 +466,7 @@ void generate_linear_smearing_kernel(double *smear_kernel, double x_origin, doub inter = inter + grad; } } + return warning; } /** @@ -500,11 +509,11 @@ void generate_shot(double *signal, double *shot_noise, unsigned int width, unsig } } -double smear_buffer[50*50]; +double smear_buffer[500*500]; /** * @brief Function for inverting and normalizing the smearing kernel so that the end - * point is centered note that this function is designed for the downsampled kernel with size 25*25 + * point is centered note that this function is designed for the downsampled kernel with size 50*50 * * @param[out] smear: smearing kernel * @param x_smear: endpoint of the smear in x dim @@ -521,13 +530,13 @@ void shift_smear(double *smear, double x_smear, double y_smear, unsigned int dim x_diff = (int) - x_smear; y_diff = (int) - y_smear; - bzero(smear_buffer, 50*50); + bzero(smear_buffer, 500*500); for(i = 0; i < dim; i++){ for(j = 0; j < dim; j++){ if((i+x_diff) >= 0 && (i+x_diff) < dim){ if((j+y_diff) >= 0 && (j+y_diff) < dim){ - SET_PIXEL(smear_buffer, 50, i+x_diff, j+y_diff, smear[i + dim*j]); + SET_PIXEL(smear_buffer, 500, i+x_diff, j+y_diff, smear[i + dim*j]); } } } @@ -535,7 +544,7 @@ void shift_smear(double *smear, double x_smear, double y_smear, unsigned int dim for(i = 0; i < dim; i++){ for(j = 0; j < dim; j++){ - smear[i + dim*j] = smear_buffer[i + 50*j]; + smear[i + dim*j] = smear_buffer[i + 500*j]; sum = sum + smear[i + dim*j]; } } diff --git a/src/detector_features.h b/src/detector_features.h index e09b5d2..73c8dd8 100644 --- a/src/detector_features.h +++ b/src/detector_features.h @@ -45,7 +45,7 @@ void generate_background(double *, double, double, double, int, int); void smear_star_image(double *, double *, double*, unsigned int, unsigned int, unsigned int, unsigned int); -void generate_linear_smearing_kernel(double *, double, double, double, double, unsigned int); +int generate_linear_smearing_kernel(double *, double, double, double, double, unsigned int); void generate_shot(double *, double *, unsigned int, unsigned int); diff --git a/src/fcu_algorithms.c b/src/fcu_algorithms.c index 596568e..7209ab8 100644 --- a/src/fcu_algorithms.c +++ b/src/fcu_algorithms.c @@ -1,8 +1,8 @@ /** * @file fcu_algorithms.c * @author Gerald Mösenlechner (gerald.moesenlechner@univie.ac.at) -* @date November, 2023 -* @version 1.0 +* @date January, 2024 +* @version 1.1 * * @copyright * This program is free software; you can redistribute it and/or modify it @@ -36,7 +36,6 @@ #define SIGDIVFWHM 0.42466452f #define AMPL_PSF 270.0f #define TWO_PI 6.28318531f -#define MODE_GAUSS 0 #define XDIM 200 #define YDIM 200 #define BIN 3 @@ -155,139 +154,6 @@ void get_2D_gaussian (float *img, unsigned int cols, unsigned int rows, float ce return; } -/** - * @brief Function for generating a linear approximation of a gaussian - * weighting function. - * - * This functions takes a 1D gaussian function approximated by multiple linear - * functions and rotates it in order to generate a weighting function with - * a FWHM of 10 px in x and 15 px in y. (This methods is no longer in use as - * the current size makes this function slower than the analytical gaussian.) - * - * @param[out] img: target buffer for gaussian function - * @param cols/rows: dimensions of the input buffer - * @param center_x/center_y: coordinates of center of gaussian - * @param Fgs: channel of the fgs - */ -void GetArielPSF(float *img, unsigned int cols, unsigned int rows, float center_x, float center_y, unsigned int Fgs) -{ - unsigned int x, y; - float value; - float xdist, ydist, dist, a4, b4, a3, b3, a2, b2, a1, b1, a0, b0; - - /* coefficients for intensity(dist) = a*dist + b */ - if (Fgs == 1) { - a4 = -2.0340121888836554e-05; - b4 = 0.00040693710306002716; - a3 = -0.0003334301023466291; - b3 = 0.0041640168685535385; - a2 = -0.0010417032033561069; - b2 = 0.009830201676629366; - a1 = -0.0011177934419147849; - b1 = 0.0101345626308640 ; - a0 = -0.000463224129535777; - b0 = 0.00882542400610606; - } - else { /* only FGS == 2 applies */ - a4 = -2.0340121888836554e-05; - b4 = 0.00040693710306002716; - a3 = -0.0003334301023466291; - b3 = 0.0041640168685535385; - a2 = -0.0010417032033561069; - b2 = 0.009830201676629366; - a1 = -0.0011177934419147849; - b1 = 0.0101345626308640 ; - a0 = -0.000463224129535777; - b0 = 0.00882542400610606; - } - - for (y = 0; y < rows; y++) - for (x = 0; x < cols; x++){ - /* calculate distance square to center */ - xdist = x - center_x; - ydist = (y - center_y)/1.5; - - /* speed up */ - if ((xdist <= 20) || (ydist <= 20)){ - dist = sqrtf(xdist*xdist + ydist*ydist); /* fsqrts takes 22 cycles */ - - /* calculate PSF from piecewise linear approximation */ - if (dist > 20) /* outer border */ - value = 0; - else if (dist > 12) - value = (a4*dist + b4); - - else if (dist > 8) /* 6..20 */ - value = (a3*dist + b3); - - else if (dist > 4) /* 6..20 */ - value = (a2*dist + b2); - - else if (dist > 2) /* 2..6 */ - value = (a1*dist + b1); - - else /* 0..2 */ - value = (a0*dist + b0); - } - else - value = 0; - - SET_PIXEL(img, cols, x, y, value); - } - -#if 0 - for (y=0; y<rows; y++) - { - for (x=0; x<cols; x++) - printf("%d ", GET_PIXEL(img,cols,x,y)); - printf("\n"); - } -#endif - - return; -} - -/** - * @brief Median determination based on the Torben method (non destructive) - * - * @param data: input array - * @param lenght: lenght of the input buffer - * - * @return median of the dataset - */ -unsigned int torben(unsigned int *data, unsigned int lenght) -{ - int less, greater, equal; - unsigned int min, max, guess, maxltguess, mingtguess, i; - - min = max = data[0] ; - for (i=1 ; i<lenght ; i++) { - if (data[i]<min) min=data[i]; - if (data[i]>max) max=data[i]; - } - - while (1) { - guess = (min+max)/2; - less = 0; greater = 0; equal = 0; - maxltguess = min ; - mingtguess = max ; - for (i=0; i<lenght; i++) { - if (data[i]<guess) { - less++; - if (data[i]>maxltguess) maxltguess = data[i] ; - } else if (data[i]>guess) { - greater++; - if (data[i]<mingtguess) mingtguess = data[i] ; - } else equal++; - } - if (less <= (lenght+1)/2 && greater <= (lenght+1)/2) break ; - else if (less>greater) max = maxltguess ; - else min = mingtguess; - } - if (less >= (lenght+1)/2) return maxltguess; - else if (less+equal >= (lenght+1)/2) return guess; - else return mingtguess; -} /** * @brief Function for checking the extent of the bright source. @@ -306,16 +172,22 @@ unsigned int torben(unsigned int *data, unsigned int lenght) * @param threshold: threshold criteria for neighbour identification * */ -void check8 (unsigned int *image, unsigned int *sum, int *is_target, unsigned int x, unsigned int y, unsigned int width, unsigned int height, unsigned int threshold) { +void check_neighbours (unsigned int *image, unsigned int *sum, int *is_target, unsigned int x, unsigned int y, unsigned int width, unsigned int height, unsigned int threshold) { unsigned int val, ctr=0; - int i, j; - - for(i = -1;i<=1;i++){ - for(j = -1;j<=1;j++){ - val = GET_PIXEL(image, width, x+i, y+j); - if (val > threshold){ - *sum = *sum + val; - ctr = ctr + 1; + int i, j, x_tmp, y_tmp; + + for(i = -2;i<=2;i++){ + for(j = -2;j<=2;j++){ + x_tmp = x + i; + y_tmp = y + j; + if(x_tmp > 0 && y_tmp > 0){ + if(x_tmp <= (width-1) && (y_tmp <= (height-1))){ + val = GET_PIXEL(image, width, (x_tmp), (y_tmp)); + if (val > threshold){ + *sum = *sum + val; + ctr = ctr + 1; + } + } } } } @@ -344,26 +216,29 @@ void check8 (unsigned int *image, unsigned int *sum, int *is_target, unsigned in void std_threshold(unsigned int *image, unsigned int dimX, unsigned int dimY){ unsigned int mean, std, i; unsigned long sum, sumSquare; - + if(dimX == 0 || dimY == 0) + return; + sum = 0; sumSquare = 0; for(i = 0; i < dimX*dimY; i++){ sum = sum + image[i]; sumSquare = sumSquare + (image[i] * image[i]); } - - if(dimX == 0 || dimY == 0){ + + if(sum == 0) return; - }else{ - mean = (unsigned int) (sum / (dimX * dimY)); - std = (unsigned int) sqrt((sumSquare / (dimX * dimY)) - (mean*mean)); - } + + mean = (unsigned int) (sum / (dimX * dimY)); + std = (unsigned int) sqrt((sumSquare / (dimX * dimY)) - (mean*mean)); + for(i = 0; i < dimX*dimY; i++){ if(image[i] < (mean + std)) image[i] = 0; else image[i] = image[i] - (mean + std); } + return; } /** @@ -396,8 +271,6 @@ int identify_star (unsigned int *image, unsigned int *brightness, int *is_target if (y_dim == 0) return -1; - - for(i = 0; i < length; i++){ brightness[i] = 0; is_target[i] = 1; @@ -418,26 +291,15 @@ int identify_star (unsigned int *image, unsigned int *brightness, int *is_target } } -#if 0 - for(i=0; i<length; i++){ - printf("Position Targets: %i, %i, %i, %i\n", positions[i], positions[i] % x_dim, positions[i] / x_dim, is_target[i]); - } -#endif for(i = 0; i < length; i++){ if(is_target[i] != 0){ pos_x = (positions[i] % x_dim); pos_y = (positions[i] / x_dim); - check8(image, &brightness[i], &is_target[i], pos_x, pos_y, x_dim, y_dim, sigma); + check_neighbours(image, &brightness[i], &is_target[i], pos_x, pos_y, x_dim, y_dim, sigma); } } -#if 0 - for(i=0; i<length; i++){ - printf("Position Targets after check8: %i, %i, %i, %i, %i\n", positions[i], positions[i] % x_dim, positions[i] / x_dim, is_target[i], brightness[i]); - } -#endif - minimum = 0; loc = 0; for(i = 0; i < length; i++){ @@ -872,6 +734,7 @@ unsigned int ref_y[25]; * 5. The sigma must be larger than a certain span * 6. The pearson correlation between the image and a reference function at * the center must be larger than the defined value + * 7. The measured signal of the target must not exeed the specified range * * The background that is subtracted from the image for the photometry is given * by the minimum pixel value inside of the ROI with the exception of known dead @@ -887,11 +750,13 @@ unsigned int ref_y[25]; * @param fgs: channel for reference function * @param x_center: estimated center in x * @param y_center: estimated center in y + * @param signalTolerance: Tolerance range for 7 + * @param targetSignal: Signal for 7 * * @returns struct containing the validity data of the centroid */ -struct valpack CheckRoiForStar (unsigned int *data, unsigned int x_dim, unsigned int y_dim, unsigned int CenSignalLimit, unsigned int CenSigmaLimit, float PearsonLimit, unsigned int fgs, double x_center, double y_center) +struct valpack CheckRoiForStar (unsigned int *data, unsigned int x_dim, unsigned int y_dim, unsigned int CenSignalLimit, unsigned int CenSigmaLimit, float PearsonLimit, unsigned int fgs, double x_center, double y_center, unsigned int signalTolerance, unsigned int targetSignal) { unsigned int i; unsigned int median, minimum, maximum; @@ -1001,7 +866,6 @@ struct valpack CheckRoiForStar (unsigned int *data, unsigned int x_dim, unsigned return package; } /*rule 6: the signal inside of a 5px radius circle around the estimated center must contain a certain percentage of the total signal*/ -//#pragma omp parallel for private(xdist), private(ydist) for (y = 0; y < y_dim; y++){ for (x = 0; x < x_dim; x++){ /* calculate distance square to center */ @@ -1019,6 +883,11 @@ struct valpack CheckRoiForStar (unsigned int *data, unsigned int x_dim, unsigned mag = sum; + if(abs(targetSignal - mag) > targetSignal*((float)signalTolerance/100)){ + package.index = 107; + package.magnitude = mag; + return package; + } /*Multiply with signal to scale reference to extracted sample*/ if(fgs == 1){ @@ -1161,9 +1030,6 @@ void WeightedCenterOfGravity2D (unsigned int *img, float *weights, unsigned int for (i = 0; i < rows * cols; i++){ /* multiply image with weights */ tmpImg[i] = (unsigned int) (weights[i]*img[i]); - - /* and find max value */ - //max = img[i] > max ? img[i] : max; } /* determine size of datatype and shift so that it is back within CogBits (e.g. 16) bits */ @@ -1202,44 +1068,6 @@ void IntensityWeightedCenterOfGravity2D (unsigned int *img, unsigned int rows, u return; } -/** - * @brief Calculates centroid using Iteratively Weighted Center of Gravity for - * a 2d image - * - * In the IWCoG algorithm, the image is multiplied with a weighting function - * centred on the given estimate and the @ref WeightedCenterOfGravity2D is - * performed. Based on the result, the weighting function is relocated and the - * process is repeated n times - * - * @param img: a buffer holding the image - * @param weights: buffer holding the weighting function - * @param rows: the number of rows in the image - * @param cols: the number of columns in the image - * @param iter: number of iterations - * @param[out] x: x position - * @param[out] y: y position - * @param mode: mode defining the used weighting function - * @param fwhm_x: FWHM of gaussian weighting function in x - * @param fwhm_y: FWHM of gaussian weighting function in y - * @param fgs: FGS channel for approximated weighting function - * - */ -void IterativelyWeightedCenterOfGravity2D (unsigned int *img, float *weights, unsigned int rows, unsigned int cols, unsigned int iter, float *x, float *y, int mode, float fwhm_x, float fwhm_y, int fgs) -{ - unsigned int i; - - for (i = 0; i < iter; i++){ - if (mode == MODE_GAUSS){ - get_2D_gaussian (weights, cols, rows, *x, *y, fwhm_x, fwhm_y); - } - else{ - GetArielPSF (weights, cols, rows, *x, *y, fgs); - } - - WeightedCenterOfGravity2D (img, weights, rows, cols, x, y); - } - return; -} float weights_cog[REFINEDROISIZE*REFINEDROISIZE]; unsigned int roi_cog[REFINEDROISIZE*REFINEDROISIZE]; @@ -1257,7 +1085,6 @@ unsigned int roi_cog[REFINEDROISIZE*REFINEDROISIZE]; * @param rows: the number of rows in the image * @param cols: the number of columns in the image * @param iterations: number of iterations - * @param mode: mode defining the used weighting function * @param fwhm_x: FWHM of gaussian weighting function in x * @param fwhm_y: FWHM of gaussian weighting function in y * @param fgs: FGS channel for approximated weighting function @@ -1268,7 +1095,7 @@ unsigned int roi_cog[REFINEDROISIZE*REFINEDROISIZE]; * @returns Centroid packet in form of coord struct */ -struct coord ArielCoG (unsigned int *img, unsigned int rows, unsigned int cols, unsigned int iterations, int mode, float fwhm_x, float fwhm_y, int fgs, unsigned int CenSignalLimit, unsigned int CenSigmaLimit, float PearsonLimit) +struct coord ArielCoG (unsigned int *img, unsigned int rows, unsigned int cols, unsigned int iterations, float fwhm_x, float fwhm_y, int fgs, unsigned int CenSignalLimit, unsigned int CenSigmaLimit, float PearsonLimit, unsigned int signalTolerance, unsigned int targetSignal) { float x_res, y_res; @@ -1306,25 +1133,25 @@ struct coord ArielCoG (unsigned int *img, unsigned int rows, unsigned int cols, } if (x_start < 0){ + x_roi = x_roi + x_start; x_start = 0; } if (y_start < 0){ + y_roi = y_roi + y_start; y_start = 0; } if (x_start > (rows - REFINEDROISIZE)){ + x_roi = x_roi + x_start - (rows - REFINEDROISIZE); x_start = rows - REFINEDROISIZE; } if (y_start > (cols - REFINEDROISIZE)){ + y_roi = y_roi + y_start - (cols - REFINEDROISIZE); y_start = cols - REFINEDROISIZE; } refine_RoI (img, roi_cog, rows, cols, x_start, y_start, REFINEDROISIZE); - if (mode == MODE_GAUSS){ - get_2D_gaussian (weights_cog, REFINEDROISIZE, REFINEDROISIZE, x_roi, y_roi, fwhm_x, fwhm_y); - } - else{ - GetArielPSF (weights_cog, REFINEDROISIZE, REFINEDROISIZE, x_roi, y_roi, fgs); - } - + get_2D_gaussian (weights_cog, REFINEDROISIZE, REFINEDROISIZE, x_roi, y_roi, fwhm_x, fwhm_y); + + WeightedCenterOfGravity2D (roi_cog, weights_cog, REFINEDROISIZE, REFINEDROISIZE, &x_roi, &y_roi); } @@ -1333,7 +1160,7 @@ struct coord ArielCoG (unsigned int *img, unsigned int rows, unsigned int cols, res.y = y_start + y_roi; - res.validity = CheckRoiForStar (img, rows, cols, CenSignalLimit, CenSigmaLimit, PearsonLimit,fgs , res.x, res.y); + res.validity = CheckRoiForStar (img, rows, cols, CenSignalLimit, CenSigmaLimit, PearsonLimit,fgs , res.x, res.y, signalTolerance, targetSignal); if(res.validity.index > 99){ res.validity.flag = 0; @@ -1357,7 +1184,6 @@ unsigned int roi[BIN*BIN*ROISIZE*ROISIZE]; * * @param data: array of input samples * @param xdim/ydim: size of the image - * @param mode: mode used in the centroiding step * @param fgs: FGS channel. needed for weighting function * @param target_number: number of expected stars inside of the image * @param target_brightness: signal of the target star in ADU @@ -1372,7 +1198,7 @@ unsigned int roi[BIN*BIN*ROISIZE*ROISIZE]; * @returns coordiates of the target star */ -struct coord SourceDetection(unsigned int *data, unsigned int xdim, unsigned int ydim, int mode, int fgs, unsigned int target_number, unsigned int target_brightness, unsigned int brightness_tolerance, unsigned int sigma, unsigned int iter, float fwhm_x, float fwhm_y, unsigned int CenSignalLimit, unsigned int CenSigmaLimit, float PearsonLimit) +struct coord SourceDetection(unsigned int *data, unsigned int xdim, unsigned int ydim, int fgs, unsigned int target_number, unsigned int target_brightness, unsigned int brightness_tolerance, unsigned int sigma, unsigned int iter, float fwhm_x, float fwhm_y, unsigned int CenSignalLimit, unsigned int CenSigmaLimit, float PearsonLimit) { unsigned int binnedwidth, binnedheight, binx, biny, x, y, xstart, ystart; unsigned int source_val[target_number]; @@ -1393,11 +1219,16 @@ struct coord SourceDetection(unsigned int *data, unsigned int xdim, unsigned int else{ result.x = 0; result.y = 0; + result.validity.index = 111; + result.validity.flag = 0; return result; } if ((binnedwidth == 0) || (binnedheight == 0)){ - result.validity.index = 108; + result.x = 0; + result.y = 0; + result.validity.index = 111; + result.validity.flag = 0; return result; } @@ -1426,33 +1257,10 @@ struct coord SourceDetection(unsigned int *data, unsigned int xdim, unsigned int } mean = (unsigned int) sum / (binnedwidth * binnedheight); -#if 0 - for(i=0; i<(binnedwidth * binnedheight); i++){ - printf("%i ", binned[i]); - if (i && !((i + 1) % binnedwidth)) - printf("\n"); - - } -#endif - find_brightest_uint(binned, (binnedwidth * binnedheight), target_number, source_val, source_pos); -/*Debug flag for source extraction*/ -#if 0 - for(i=0; i<target_number; i++){ - printf("x = %i, y = %i, width = %i\n", source_pos[i]% binnedwidth, source_pos[i] / binnedwidth, binnedwidth); - } -#endif - identify_star(binned, source_br, target, binnedwidth, binnedheight, source_pos, target_number, mean + sigma, target_brightness); -/*Debug flag for target identification*/ -#if 0 - for(i=0; i<target_number; i++){ - printf("%i, %i\n", target[i], source_br[i]); - } -#endif - for(i=0; i<target_number;i++){ if (target[i] == 1){ if (source_br[i] > tmp_br && (abs(source_br[i]-target_brightness) < (int)(target_brightness*brightness_tolerance/100))){ @@ -1464,8 +1272,6 @@ struct coord SourceDetection(unsigned int *data, unsigned int xdim, unsigned int } } - - pos_x = pos_x - ROISIZE/2; pos_y = pos_y - ROISIZE/2; @@ -1487,14 +1293,6 @@ struct coord SourceDetection(unsigned int *data, unsigned int xdim, unsigned int } extract_RoI(data, xdim, ydim, pos_x, pos_y, roi); -/*Debug flag Print RoI*/ -#if 0 - for (i=0; i<ROISIZE*ROISIZE*BIN*BIN; i++){ - printf("%i ", roi[i]); - if (i && !((i + 1) % (ROISIZE*BIN))) - printf("\n"); - } -#endif th = GetMin(roi, ROISIZE*BIN*ROISIZE*BIN); @@ -1502,11 +1300,12 @@ struct coord SourceDetection(unsigned int *data, unsigned int xdim, unsigned int roi[i] = roi[i] - th; } - result = ArielCoG(roi, ROISIZE*BIN, ROISIZE*BIN, iter, mode, fwhm_x, fwhm_y, fgs, CenSignalLimit, CenSigmaLimit, PearsonLimit); + result = ArielCoG(roi, ROISIZE*BIN, ROISIZE*BIN, iter, fwhm_x, fwhm_y, fgs, CenSignalLimit, CenSigmaLimit, PearsonLimit, brightness_tolerance, target_brightness); result.x = result.x + (float) (pos_x*BIN); result.y = result.y + (float) (pos_y*BIN); if(flag == 0){ result.validity.index = 107; + result.validity.magnitude = source_br[0]; } if(result.validity.index > 99){ result.validity.flag = 0; diff --git a/src/fcu_algorithms.h b/src/fcu_algorithms.h index 4998641..4a6cd3b 100644 --- a/src/fcu_algorithms.h +++ b/src/fcu_algorithms.h @@ -30,11 +30,11 @@ void std_threshold(unsigned int *, unsigned int, unsigned int); int MedFilter3x3 (unsigned int *, unsigned int, unsigned int, unsigned int, unsigned int *); -struct valpack CheckRoiForStar(unsigned int *, unsigned int, unsigned int, unsigned int, unsigned int, float, unsigned int, double, double); +struct valpack CheckRoiForStar(unsigned int *, unsigned int, unsigned int, unsigned int, unsigned int, float, unsigned int, double, double, unsigned int, unsigned int); -struct coord SourceDetection(unsigned int *, unsigned int , unsigned int, int, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, float, float, unsigned int, unsigned int, float); +struct coord SourceDetection(unsigned int *, unsigned int , unsigned int, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, float, float, unsigned int, unsigned int, float); -struct coord ArielCoG (unsigned int *, unsigned int, unsigned int, unsigned int, int, float, float, int, unsigned int, unsigned int, float); +struct coord ArielCoG (unsigned int *, unsigned int, unsigned int, unsigned int, float, float, int, unsigned int, unsigned int, float, unsigned int, unsigned int); void CenterOfGravity2D(unsigned int *, unsigned int, unsigned int, float *, float *); @@ -42,7 +42,7 @@ void WeightedCenterOfGravity2D(unsigned int *, float *, unsigned int, unsigned i void IntensityWeightedCenterOfGravity2D(unsigned int *, unsigned int, unsigned int, float *, float *); -void IterativelyWeightedCenterOfGravity2D(unsigned int *, float *, unsigned int, unsigned int, unsigned int, float *, float *, int, float, float, int); +int MeanSigma (int *, int, float *, float *); unsigned int GetMin(unsigned int*, unsigned int); diff --git a/src/utilities.c b/src/utilities.c index b6292e1..e62c1e8 100644 --- a/src/utilities.c +++ b/src/utilities.c @@ -1,8 +1,8 @@ /** * @file utilities.c * @author Gerald Mösenlechner (gerald.moesenlechner@univie.ac.at) -* @date November, 2023 -* @version 1.0 +* @date January, 2024 +* @version 1.1 * * @copyright * This program is free software; you can redistribute it and/or modify it @@ -44,34 +44,6 @@ #pragma GCC target("avx") #endif -size_t get_next_pow_2_bound(size_t n) -{ - size_t c = 0; - - n = n - 1; - while (n >>= 1) - c++; - - return (1 << (c + 1)); -} - -double random_poisson(double mean) -{ - double L; - double p = 1.; - int result = 0; - - L = exp(-mean); - do { - result++; - if (result == INT_MAX) - break; - p *= ((double) random()) / INT_MAX; - } while (p > L); - result--; - return (double) result; -}; - /** * @brief Random poisson number generator based on the Transformed Rejection Method from Wolfgang Hoermann * @@ -265,7 +237,7 @@ int upsample_image(double *image, double *upsampled_image, unsigned int width, u } /** - * @brief simple downsampling of an image + * @brief simple downsampling of an image with normalization * * @param image: Original image * @param[out] downsampled_image: buffer of downsampled image -- GitLab