Changeset 37035 for trunk/Ohana/src/libdvo/src/dvo_convert_elixir.c
- Timestamp:
- Jul 17, 2014, 10:10:16 AM (12 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/libdvo/src/dvo_convert_elixir.c (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/libdvo/src/dvo_convert_elixir.c
r35162 r37035 2 2 3 3 /* convert elixir-format measures to internal measures */ 4 Measure *Measure_Elixir_ToInternal ( Measure_Elixir *in, off_t Nvalues) {4 Measure *Measure_Elixir_ToInternal (Average *ave, Measure_Elixir *in, off_t Nvalues) { 5 5 6 6 off_t i; … … 15 15 out[i].averef = in[i].averef; 16 16 17 // changed for PS1_V5 18 int averef = out[i].averef; 19 out[i].R = (in[i].dR == NAN_S_SHORT) ? NAN : ave[averef].R - 0.01 * in[i].dR / 3600.0; 20 out[i].D = (in[i].dD == NAN_S_SHORT) ? NAN : ave[averef].D - 0.01 * in[i].dD / 3600.0; 21 17 22 // changed for PANSTARRS_DEV_0 18 out[i].dR = (in[i].dR == NAN_S_SHORT) ? NAN : in[i].dR * 0.01;19 out[i].dD = (in[i].dD == NAN_S_SHORT) ? NAN : in[i].dD * 0.01;20 23 out[i].M = (in[i].M == NAN_S_SHORT) ? NAN : in[i].M * 0.001; 21 24 out[i].dM = (in[i].dM == NAN_U_CHAR) ? NAN : in[i].dM * 0.001; … … 47 50 48 51 /* convert internal measures to elixir-format measures */ 49 Measure_Elixir *MeasureInternalTo_Elixir ( Measure *in, off_t Nvalues) {52 Measure_Elixir *MeasureInternalTo_Elixir (Average *ave, Measure *in, off_t Nvalues) { 50 53 51 54 off_t i; … … 59 62 out[i].averef = in[i].averef; 60 63 64 // changed for PS1_V5 65 int averef = in[i].averef; 66 int isBad = isnan(in[i].R) || isnan(in[i].D); 67 out[i].dR = isBad ? NAN_S_SHORT : 100.0*3600.0*(ave[averef].R - in[i].R); 68 out[i].dD = isBad ? NAN_S_SHORT : 100.0*3600.0*(ave[averef].D - in[i].D); 69 61 70 // changed for PANSTARRS_DEV_0 62 out[i].dR = isnan(in[i].dR ) ? NAN_S_SHORT : in[i].dR * 100.0;63 out[i].dD = isnan(in[i].dD ) ? NAN_S_SHORT : in[i].dD * 100.0;64 71 out[i].M = isnan(in[i].M ) ? NAN_S_SHORT : in[i].M * 1000.0; 65 72 out[i].dM = isnan(in[i].dM ) ? NAN_U_CHAR : in[i].dM * 1000.0; … … 104 111 primary[0][i].M = (in[i].M == NAN_S_SHORT) ? NAN : in[i].M * 0.001; 105 112 primary[0][i].dM = (in[i].dM == NAN_S_SHORT) ? NAN : in[i].dM * 0.001; 106 primary[0][i]. Xm = in[i].Xm;113 primary[0][i].Mchisq= pow (10.0, 0.01*in[i].Xm); 107 114 108 115 // added for PANSTARRS_DEV_0 … … 137 144 out[i].M = isnan(primary[i].M) ? NAN_S_SHORT : primary[i].M * 1000.0; 138 145 out[i].dM = isnan(primary[i].dM) ? NAN_S_SHORT : primary[i].dM * 1000.0; 139 out[i].Xm = primary[i].Xm;146 out[i].Xm = 100.0*log10(primary[i].Mchisq); 140 147 141 148 // changed or added for PS1_DEV_2 … … 162 169 dvo_secfilt_init (&out[i]); 163 170 164 out[i]. Xm = in[i].Xm;171 out[i].Mchisq = pow (10.0, 0.01*in[i].Xm); 165 172 166 173 // added or changed for PANSTARRS_DEV_0 … … 180 187 181 188 for (i = 0; i < Nvalues; i++) { 182 out[i].Xm = in[i].Xm;189 out[i].Xm = 100.0*log10(in[i].Mchisq); 183 190 184 191 // added or changed for PANSTARRS_DEV_0 … … 188 195 return (out); 189 196 } 197 198 # define RAW_IMAGE_NAME_LEN 32 190 199 191 200 /* convert elixir-format images to internal images */ … … 203 212 memcpy (&out[i].coords, &in[i].coords, sizeof(Coords)); 204 213 205 strncpy (out[i].name, in[i].name, 31); // in[32], out[128] 206 out[i].name[31] = 0; // force termination 214 // RAW_IMAGE_NAME_LEN < DVO_IMAGE_NAME_LEN 215 strncpy (out[i].name, in[i].name, RAW_IMAGE_NAME_LEN - 1); 216 out[i].name[RAW_IMAGE_NAME_LEN - 1] = 0; // force termination 207 217 208 218 out[i].tzero = in[i].tzero; … … 272 282 memcpy (&out[i].coords, &in[i].coords, sizeof(Coords)); 273 283 274 strncpy (out[i].name, in[i].name, 31); // out[32], in[128] 275 out[i].name[31] = 0; // force termination 284 // RAW_IMAGE_NAME_LEN < DVO_IMAGE_NAME_LEN 285 strncpy (out[i].name, in[i].name, RAW_IMAGE_NAME_LEN - 1); 286 out[i].name[RAW_IMAGE_NAME_LEN - 1] = 0; // force termination 276 287 277 288 out[i].tzero = in[i].tzero;
Note:
See TracChangeset
for help on using the changeset viewer.
