28 #include "midiGlobal.h"
30 #include "memoryHandling.h"
31 #include "errorHandling.h"
51 KappaCoefficients *callocKappaCoefficients (
56 KappaCoefficients *array=NULL;
60 array = (KappaCoefficients *) calloc (1,
sizeof (KappaCoefficients));
62 array->k11 = (
float *) calloc (numOfChannels,
sizeof (
float));
63 array->k21 = (
float *) calloc (numOfChannels,
sizeof (
float));
64 array->k31 = (
float *) calloc (numOfChannels,
sizeof (
float));
65 array->k22 = (
float *) calloc (numOfChannels,
sizeof (
float));
66 array->k32 = (
float *) calloc (numOfChannels,
sizeof (
float));
67 array->k42 = (
float *) calloc (numOfChannels,
sizeof (
float));
68 array->sig11 = (
float *) calloc (numOfChannels,
sizeof (
float));
69 array->sig21 = (
float *) calloc (numOfChannels,
sizeof (
float));
70 array->sig31 = (
float *) calloc (numOfChannels,
sizeof (
float));
71 array->sig22 = (
float *) calloc (numOfChannels,
sizeof (
float));
72 array->sig32 = (
float *) calloc (numOfChannels,
sizeof (
float));
73 array->sig42 = (
float *) calloc (numOfChannels,
sizeof (
float));
92 void freeKappaCoefficients (
93 KappaCoefficients *array)
133 TransferRatios *callocTransferRatios (
138 TransferRatios *array=NULL;
142 array = (TransferRatios *) calloc (1,
sizeof (TransferRatios));
144 array->ka1 = (
float *) calloc (numOfChannels,
sizeof (
float));
145 array->siga1 = (
float *) calloc (numOfChannels,
sizeof (
float));
146 array->ka2 = (
float *) calloc (numOfChannels,
sizeof (
float));
147 array->siga2 = (
float *) calloc (numOfChannels,
sizeof (
float));
148 array->kb1 = (
float *) calloc (numOfChannels,
sizeof (
float));
149 array->sigb1 = (
float *) calloc (numOfChannels,
sizeof (
float));
150 array->kb2 = (
float *) calloc (numOfChannels,
sizeof (
float));
151 array->sigb2 = (
float *) calloc (numOfChannels,
sizeof (
float));
170 void freeTransferRatios (
171 TransferRatios *array)
206 float **callocWaveCalibration (
217 array = (
float **) calloc (regions,
sizeof (
float *));
218 for (i = 0; i < regions; i++)
219 array[i] = (
float *) calloc (format->iXWidth, sizeof (
float));
238 void freeWaveCalibration (
248 for (i = 0; i < regions; i++)
271 DispersedResult *callocDispResult (
276 DispersedResult *array=NULL;
281 array = (DispersedResult *) calloc (1,
sizeof (DispersedResult));
283 array->photomA = (
float **) calloc (2,
sizeof (
float *));
284 array->photomB = (
float **) calloc (2,
sizeof (
float *));
285 array->photomI = (
float **) calloc (2,
sizeof (
float *));
286 array->photomAErr = (
float **) calloc (2,
sizeof (
float *));
287 array->photomBErr = (
float **) calloc (2,
sizeof (
float *));
288 array->photomIErr = (
float **) calloc (2,
sizeof (
float *));
290 for (region = 0; region < 2; region++)
292 (array->photomA)[region] = (
float *) calloc (numOfChannels,
sizeof (
float));
293 (array->photomB)[region] = (
float *) calloc (numOfChannels,
sizeof (
float));
294 (array->photomI)[region] = (
float *) calloc (numOfChannels,
sizeof (
float));
295 (array->photomAErr)[region] = (
float *) calloc (numOfChannels,
sizeof (
float));
296 (array->photomBErr)[region] = (
float *) calloc (numOfChannels,
sizeof (
float));
297 (array->photomIErr)[region] = (
float *) calloc (numOfChannels,
sizeof (
float));
300 array->trf = (
float *) calloc (numOfChannels,
sizeof (
float));
301 array->trfErr = (
float *) calloc (numOfChannels,
sizeof (
float));
302 array->normVis2 = (
float *) calloc (numOfChannels,
sizeof (
float));
303 array->normVis2Err = (
float *) calloc (numOfChannels,
sizeof (
float));
304 array->rawVis2 = (
float *) calloc (numOfChannels,
sizeof (
float));
305 array->rawVis2Err = (
float *) calloc (numOfChannels,
sizeof (
float));
306 array->calibVis2 = (
float *) calloc (numOfChannels,
sizeof (
float));
307 array->calibVis2Err = (
float *) calloc (numOfChannels,
sizeof (
float));
308 array->photomNet2 = (
float *) calloc (numOfChannels,
sizeof (
float));
309 array->photomNet2Err = (
float *) calloc (numOfChannels,
sizeof (
float));
328 void freeDispResult (
329 DispersedResult *array)
337 for (region = 0; region < 2; region++)
339 free (array->photomA[region]);
340 free (array->photomB[region]);
341 free (array->photomI[region]);
342 free (array->photomAErr[region]);
343 free (array->photomBErr[region]);
344 free (array->photomIErr[region]);
349 free (array->trfErr);
350 free (array->normVis2);
351 free (array->normVis2Err);
352 free (array->rawVis2);
353 free (array->rawVis2Err);
354 free (array->calibVis2);
355 free (array->calibVis2Err);
357 free (array->photomA);
358 free (array->photomB);
359 free (array->photomI);
360 free (array->photomAErr);
361 free (array->photomBErr);
362 free (array->photomIErr);
363 free (array->photomNet2);
364 free (array->photomNet2Err);
386 ImageFormat *callocImageFormat (
void)
390 ImageFormat *array=NULL;
394 array = (ImageFormat *) calloc (1,
sizeof(ImageFormat));
395 array->shutterId = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
396 array->grismId = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
397 array->slitName = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
398 array->targetName = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
399 array->cameraId = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
400 array->filterName = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
401 array->tplStart = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
402 array->beamCombiner = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
403 array->tplName = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
404 array->obsTech = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
405 array->obsCatg = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
406 array->obsType = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
424 void freeImageFormat (
432 free (array->shutterId);
433 free (array->grismId);
434 free (array->slitName);
435 free (array->targetName);
436 free (array->tplStart);
437 free (array->beamCombiner);
438 free (array->cameraId);
439 free (array->filterName);
440 free (array->tplName);
441 free (array->obsTech);
442 free (array->obsCatg);
443 free (array->obsType);
464 FilterData *callocFilterInfo (
void)
468 FilterData *array=NULL;
472 array = (FilterData *) calloc (1,
sizeof(FilterData));
473 array->filterName = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
491 void freeFilterInfo (
499 free (array->filterName);
519 CalibratedVisibility *callocCalibVis (
void)
523 CalibratedVisibility *array=NULL;
527 array = (CalibratedVisibility *) calloc (1,
sizeof (CalibratedVisibility));
528 array->vis = (
float *) calloc (REGIONS_UNDISPERSED,
sizeof (
float));
529 array->visErr = (
float *) calloc (REGIONS_UNDISPERSED,
sizeof (
float));
530 array->visSqrd = (
float *) calloc (REGIONS_UNDISPERSED,
sizeof (
float));
531 array->visSqrdErr = (
float *) calloc (REGIONS_UNDISPERSED,
sizeof (
float));
551 CalibratedVisibility *array)
559 free (array->visErr);
560 free (array->visSqrd);
561 free (array->visSqrdErr);
582 TransferFunction *callocTrFunction (
587 TransferFunction *array=NULL;
591 array = (TransferFunction *) calloc (1,
sizeof (TransferFunction));
592 array->trf = (
float *) calloc (size ,
sizeof (
float));
593 array->trfErr = (
float *) calloc (size ,
sizeof (
float));
611 void freeTrFunction (
612 TransferFunction *array)
619 free (array->trfErr);
640 CalibratorParam *callocCalibrator (
void)
644 CalibratorParam *array=NULL;
648 array = (CalibratorParam *) calloc (1,
sizeof (CalibratorParam));
649 array->calibName = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
667 void freeCalibrator (
668 CalibratorParam *array)
675 free (array->calibName);
695 IauExchange *callocIauExchange (
701 IauExchange *iauArray=NULL;
706 iauArray = (IauExchange *) calloc (1,
sizeof (IauExchange));
709 iauArray->array = (OiArray *) calloc (1,
sizeof (OiArray));
710 iauArray->array->revision = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
711 iauArray->array->arrname = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
712 iauArray->array->frame = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
713 iauArray->array->nelement = numOfTelescopes;
714 iauArray->array->elem = (Element *) calloc (iauArray->array->nelement,
sizeof(Element));
715 for (i = 0; i < iauArray->array->nelement; i++)
717 iauArray->array->elem[i].tel_name = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
718 iauArray->array->elem[i].sta_name = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
719 iauArray->array->elem[i].staxyz = (
double *) calloc (3,
sizeof (
double));
724 iauArray->targets = (OiTarget *) calloc (1,
sizeof (OiTarget));
725 iauArray->targets->revision = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
726 iauArray->targets->ntarget = 1;
727 iauArray->targets->targ = (Target *) calloc (iauArray->targets->ntarget,
sizeof(Target));
728 iauArray->targets->targ->spectyp = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
729 iauArray->targets->targ->veldef = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
730 iauArray->targets->targ->veltyp = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
731 iauArray->targets->targ->target = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
734 iauArray->wavelength = (OiWavelength *) calloc (1,
sizeof (OiWavelength));
735 iauArray->wavelength->revision = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
736 iauArray->wavelength->insname = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
737 iauArray->wavelength->nwave = numOfChannels;
738 iauArray->wavelength->eff_wave = (
float *) calloc (iauArray->wavelength->nwave,
sizeof(
float));
739 iauArray->wavelength->eff_band = (
float *) calloc (iauArray->wavelength->nwave,
sizeof(
float));
742 iauArray->vis = (OiVis *) calloc (1,
sizeof (OiVis));
743 iauArray->vis->revision = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
744 iauArray->vis->date_obs = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
745 iauArray->vis->arrname = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
746 iauArray->vis->insname = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
747 iauArray->vis->numrec = 1;
748 iauArray->vis->record = (OiVisRecord *) calloc (iauArray->vis->numrec,
sizeof(OiVisRecord));
749 for (i = 0; i < iauArray->vis->numrec; i++)
751 iauArray->vis->record[i].sta_index = (
int *) calloc (2,
sizeof(
int));
752 iauArray->vis->record[i].visamp = (
double *) calloc (iauArray->wavelength->nwave,
sizeof(
double));
753 iauArray->vis->record[i].visamperr = (
double *) calloc (iauArray->wavelength->nwave,
sizeof(
double));
754 iauArray->vis->record[i].visphi = (
double *) calloc (iauArray->wavelength->nwave,
sizeof(
double));
755 iauArray->vis->record[i].visphierr = (
double *) calloc (iauArray->wavelength->nwave,
sizeof(
double));
756 iauArray->vis->record[i].flag = (
char *) calloc (MIN_STRING_LENGTH,
sizeof(
char));
760 iauArray->vis2 = (OiVis2 *) calloc (1,
sizeof (OiVis2));
761 iauArray->vis2->revision = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
762 iauArray->vis2->date_obs = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
763 iauArray->vis2->arrname = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
764 iauArray->vis2->insname = (
char *) calloc (MAX_STRING_LENGTH,
sizeof (
char));
765 iauArray->vis2->numrec = 1;
766 iauArray->vis2->record = (OiVis2Record *) calloc (iauArray->vis2->numrec, sizeof (OiVis2Record));
767 for(i = 0; i < iauArray->vis2->numrec; i++)
769 iauArray->vis2->record[i].vis2data = (
double *) calloc (iauArray->wavelength->nwave, sizeof (
double));
770 iauArray->vis2->record[i].vis2err = (
double *) calloc (iauArray->wavelength->nwave, sizeof (
double));
771 iauArray->vis2->record[i].flag = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
772 iauArray->vis2->record[i].sta_index = (
int *) calloc (2,
sizeof (
int));
791 void freeIauExchange (
792 IauExchange *iauArray)
802 free (iauArray->array->frame);
803 free (iauArray->array->arrname);
804 free (iauArray->array->revision);
805 for (i = 0; i < iauArray->array->nelement; i++)
807 free (iauArray->array->elem[i].tel_name);
808 free (iauArray->array->elem[i].sta_name);
809 free (iauArray->array->elem[i].staxyz);
811 free (iauArray->array->elem);
812 free (iauArray->array);
815 free (iauArray->targets->revision);
816 free (iauArray->targets->targ->spectyp);
817 free (iauArray->targets->targ->veldef);
818 free (iauArray->targets->targ->veltyp);
819 free (iauArray->targets->targ->target);
820 free (iauArray->targets->targ);
821 free (iauArray->targets);
824 free (iauArray->wavelength->eff_wave);
825 free (iauArray->wavelength->eff_band);
826 free (iauArray->wavelength->revision);
827 free (iauArray->wavelength->insname);
828 free (iauArray->wavelength);
831 free (iauArray->vis->revision);
832 free (iauArray->vis->date_obs);
833 free (iauArray->vis->arrname);
834 free (iauArray->vis->insname);
835 for (i = 0; i < iauArray->vis->numrec; i++)
837 free (iauArray->vis->record[i].visamp);
838 free (iauArray->vis->record[i].visamperr);
839 free (iauArray->vis->record[i].visphi);
840 free (iauArray->vis->record[i].visphierr);
841 free (iauArray->vis->record[i].sta_index);
842 free (iauArray->vis->record[i].flag);
844 free (iauArray->vis->record);
845 free (iauArray->vis);
848 free (iauArray->vis2->revision);
849 free (iauArray->vis2->date_obs);
850 free (iauArray->vis2->arrname);
851 free (iauArray->vis2->insname);
852 for(i = 0; i < iauArray->vis2->numrec; i++)
854 free (iauArray->vis2->record[i].vis2data);
855 free (iauArray->vis2->record[i].vis2err);;
856 free (iauArray->vis2->record[i].sta_index);
857 free (iauArray->vis2->record[i].flag);
859 free (iauArray->vis2->record);
860 free (iauArray->vis2);
882 PhotometryResult *callocPhotometry (
void)
886 PhotometryResult *array=NULL;
890 array = (PhotometryResult *) calloc (1,
sizeof (PhotometryResult));
892 array->photomA = (
float *) calloc (2,
sizeof (
float));
893 array->photomAErr = (
float *) calloc (2,
sizeof (
float));
895 array->photomB = (
float *) calloc (2,
sizeof (
float));
896 array->photomBErr = (
float *) calloc (2,
sizeof (
float));
898 array->chop2ChopAErr = (
float *) calloc (2,
sizeof (
float));
899 array->chop2ChopBErr = (
float *) calloc (2,
sizeof (
float));
917 void freePhotometry (
918 PhotometryResult *array)
925 free (array->photomA);
926 free (array->photomAErr);
928 free (array->photomB);
929 free (array->photomBErr);
931 free (array->chop2ChopAErr);
932 free (array->chop2ChopBErr);
953 RawVisibility *callocRawVis (
void)
957 RawVisibility *array=NULL;
961 array = (RawVisibility *) calloc (1,
sizeof (RawVisibility));
981 RawVisibility *array)
1008 CompressedData *callocMidiCompressed (
1009 ImageFormat *format)
1013 CompressedData *array=NULL;
1018 array = (CompressedData *) calloc (1,
sizeof (CompressedData));
1020 array->iDispFringe = (
float ***) calloc (format->numOfRegionsToProcess,
sizeof(
float **));
1021 for (i = 0; i < format->numOfRegionsToProcess; i++)
1023 (array->iDispFringe)[i] = (
float **) calloc (format->iXWidth,
sizeof(
float *));
1024 for (X = 0; X < format->iXWidth; X++)
1025 (array->iDispFringe)[i][X] = (
float *) calloc (format->numOfFrames,
sizeof(
float));
1028 array->rejectList = (
int **) calloc (format->iXWidth, sizeof (
int *));
1029 for (i = 0; i < format->iXWidth; i++)
1030 array->rejectList[i] = (
int *) calloc (format->numOfFrames, sizeof (
int));
1032 array->badScanList = (
int *) calloc (format->numOfScans, sizeof (
int));
1034 array->image = (
float **) calloc (format->numOfRegionsToProcess,
sizeof(
float *));
1035 for (i = 0; i < format->numOfRegionsToProcess; i++)
1036 array->image[i] = (
float *) calloc (format->iXWidth * format->iYWidth,
sizeof(
float));
1038 array->iFringe1 = (
double *) calloc (format->numOfFrames,
sizeof(
double));
1039 array->iFringe2 = (
double *) calloc (format->numOfFrames,
sizeof(
double));
1040 array->iFringe = (
double *) calloc (format->numOfFrames,
sizeof(
double));
1041 array->allSpectrum = (
float *) calloc (format->allSpectrumLength,
sizeof(
float));
1042 array->dcLevels = (
float *) calloc (REGIONS_UNDISPERSED * format->numOfScans, sizeof (
float));
1043 array->tarType = (
char *) calloc(format->numOfFrames,
sizeof(
char));
1044 array->time = (
float *) calloc(format->numOfFrames,
sizeof(
float));
1045 array->localOPD = (
float *) calloc(format->numOfFrames,
sizeof(
float));
1046 array->bigDL = (
float *) calloc(format->numOfFrames,
sizeof(
float));
1066 void freeCompressedData (
1067 ImageFormat *format,
1068 CompressedData *array)
1076 for (i = 0; i < format->numOfRegionsToProcess; i++)
1078 for (j = 0; j < format->iXWidth; j++)
1079 free ((array->iDispFringe)[i][j]);
1081 free ((array->iDispFringe)[i]);
1083 free (array->iDispFringe);
1085 for (i = 0; i < format->numOfRegionsToProcess; i++)
1087 free (array->image[i]);
1089 free (array->image);
1091 for (i = 0; i < format->iXWidth; i++)
1092 free (array->rejectList[i]);
1093 free (array->rejectList);
1095 free (array->badScanList);
1096 free (array->iFringe1);
1097 free (array->iFringe2);
1098 free (array->iFringe);
1099 free (array->allSpectrum);
1100 free (array->dcLevels);
1101 free (array->tarType);
1103 free (array->localOPD);
1104 free (array->bigDL);
1127 MidiFiles *callocMidiFiles (
1132 MidiFiles *fileNames=NULL;
1136 fileNames = (MidiFiles *) calloc (1,
sizeof (MidiFiles));
1137 fileNames->inFitsList = (
char *) calloc (stringLength,
sizeof (
char));
1138 fileNames->inFitsClassified = (
char *) calloc (stringLength,
sizeof (
char));
1139 fileNames->inFitsBatch = (
char *) calloc (stringLength,
sizeof (
char));
1140 fileNames->inFileDir = (
char *) calloc (stringLength,
sizeof (
char));
1141 fileNames->maskFileDir = (
char *) calloc (stringLength,
sizeof (
char));
1142 fileNames->maskFileName = (
char *) calloc (stringLength,
sizeof (
char));
1143 fileNames->inFitsName = (
char *) calloc (stringLength,
sizeof (
char));
1144 fileNames->outFitsName = (
char *) calloc (stringLength,
sizeof (
char));
1145 fileNames->outWaterfallName = (
char *) calloc (stringLength,
sizeof (
char));
1146 fileNames->outWaterpowerName = (
char *) calloc (stringLength,
sizeof (
char));
1147 fileNames->outAveImageName = (
char *) calloc (stringLength,
sizeof (
char));
1148 fileNames->outChSpectrumName = (
char *) calloc (stringLength,
sizeof (
char));
1149 fileNames->calibDbName = (
char *) calloc (stringLength,
sizeof (
char));
1150 fileNames->grismFoilName = (
char *) calloc (stringLength,
sizeof (
char));
1151 fileNames->prismFoilName = (
char *) calloc (stringLength,
sizeof (
char));
1152 fileNames->calibDbDir = (
char *) calloc (stringLength,
sizeof (
char));
1153 fileNames->trfNameRead = (
char *) calloc (stringLength,
sizeof (
char));
1154 fileNames->trfNameWrite = (
char *) calloc (stringLength,
sizeof (
char));
1155 fileNames->trfHistoryName = (
char *) calloc (stringLength,
sizeof (
char));
1156 fileNames->trrNameRead = (
char *) calloc (stringLength,
sizeof (
char));
1157 fileNames->trrNameWrite = (
char *) calloc (stringLength,
sizeof (
char));
1158 fileNames->trrHistoryName = (
char *) calloc (stringLength,
sizeof (
char));
1159 fileNames->wclNameRead = (
char *) calloc (stringLength,
sizeof (
char));
1160 fileNames->wclNameWrite = (
char *) calloc (stringLength,
sizeof (
char));
1161 fileNames->transferRatiosName = (
char *) calloc (stringLength,
sizeof (
char));
1162 fileNames->wclHistoryName = (
char *) calloc (stringLength,
sizeof (
char));
1163 fileNames->archFileName = (
char *) calloc (stringLength,
sizeof (
char));
1164 fileNames->pipeFileName = (
char *) calloc (stringLength,
sizeof (
char));
1165 fileNames->waveCalibName = (
char *) calloc (stringLength,
sizeof (
char));
1184 void freeMidiFiles (
1185 MidiFiles *fileNames)
1192 free (fileNames->inFitsList);
1193 free (fileNames->inFitsClassified);
1194 free (fileNames->inFitsBatch);
1195 free (fileNames->inFileDir);
1196 free (fileNames->maskFileDir);
1197 free (fileNames->maskFileName);
1198 free (fileNames->inFitsName);
1199 free (fileNames->outFitsName);
1200 free (fileNames->outWaterfallName);
1201 free (fileNames->outWaterpowerName);
1202 free (fileNames->outAveImageName);
1203 free (fileNames->outChSpectrumName);
1204 free (fileNames->calibDbName);
1205 free (fileNames->grismFoilName);
1206 free (fileNames->prismFoilName);
1207 free (fileNames->calibDbDir);
1208 free (fileNames->trfNameRead);
1209 free (fileNames->trfNameWrite);
1210 free (fileNames->trfHistoryName);
1211 free (fileNames->trrNameRead);
1212 free (fileNames->trrNameWrite);
1213 free (fileNames->trrHistoryName);
1214 free (fileNames->wclNameRead);
1215 free (fileNames->wclNameWrite);
1216 free (fileNames->wclHistoryName);
1217 free (fileNames->archFileName);
1218 free (fileNames->transferRatiosName);
1219 free (fileNames->pipeFileName);
1220 free (fileNames->waveCalibName);
1239 DispersiveTrans *callocDspTrn (
1244 DispersiveTrans *array=NULL;
1249 array = (DispersiveTrans *) calloc (1,
sizeof (DispersiveTrans));
1250 array->numOfFiles = numOfFiles;
1251 array->target = (MidiCoords *) calloc (numOfFiles,
sizeof (MidiCoords));
1253 array->integTime = (
float *) calloc (numOfFiles,
sizeof (
float));
1254 array->integFlux = (
float *) calloc (numOfFiles,
sizeof (
float));
1255 array->meanFlux = (
float *) calloc (numOfFiles,
sizeof (
float));
1256 array->transmission = (
float *) calloc (numOfFiles/2,
sizeof (
float));
1258 array->beamCombiner = (
char **) calloc (numOfFiles,
sizeof (
char *));
1259 array->shutterId = (
char **) calloc (numOfFiles,
sizeof (
char *));
1260 array->cameraId = (
char **) calloc (numOfFiles,
sizeof (
char *));
1261 array->grismId = (
char **) calloc (numOfFiles,
sizeof (
char *));
1262 array->filterName = (
char **) calloc (numOfFiles,
sizeof (
char *));
1263 for (i = 0; i < array->numOfFiles; i++)
1265 array->beamCombiner[i] = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
1266 array->shutterId[i] = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
1267 array->cameraId[i] = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
1268 array->grismId[i] = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
1269 array->filterName[i] = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
1290 DispersiveTrans *array)
1298 free (array->integTime);
1299 free (array->integFlux);
1300 free (array->meanFlux);
1301 free (array->transmission);
1302 free (array->target);
1303 for (i = 0; i < array->numOfFiles; i++)
1305 free (array->beamCombiner[i]);
1306 free (array->shutterId[i]);
1307 free (array->cameraId[i]);
1308 free (array->grismId[i]);
1309 free (array->filterName[i]);
1311 free (array->beamCombiner);
1312 free (array->shutterId);
1313 free (array->cameraId);
1314 free (array->grismId);
1315 free (array->filterName);
1338 ReferencePixel *callocRefPix (
1344 ReferencePixel *array=NULL;
1349 array = (ReferencePixel *) calloc (1,
sizeof (ReferencePixel));
1350 array->numOfExposures = numOfFiles;
1351 array->exposure = (RefPixExposure *) calloc (array->numOfExposures, sizeof (RefPixExposure));
1353 for (i = 0; i < array->numOfExposures; i++)
1355 array->exposure[i].shutterId = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
1356 array->exposure[i].beamCombiner = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
1357 array->exposure[i].numOfBeams = numOfBeams;
1358 array->exposure[i].centroid = (MidiCoords *) calloc (array->exposure[i].numOfBeams, sizeof (MidiCoords));
1380 ReferencePixel *array)
1388 for (i = 0; i < array->numOfExposures; i++)
1390 free (array->exposure[i].beamCombiner);
1391 free (array->exposure[i].shutterId);
1392 free (array->exposure[i].centroid);
1394 free (array->exposure);
1415 DetLinearity *callocDetLin (
1417 ImageFormat *format)
1421 DetLinearity *array=NULL;
1426 array = (DetLinearity *) calloc (1,
sizeof (DetLinearity));
1427 array->size = numOfFiles;
1429 array->mean = (
float *) calloc (array->size,
sizeof(
float));
1430 array->grismId = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
1431 array->saturated = (
int *) calloc (array->size, sizeof (
int));
1432 array->integTime = (
float *) calloc (array->size,
sizeof(
float));
1433 array->deviation = (
float *) calloc (format->iXWidth * format->iYWidth, sizeof (
float));
1434 array->aveImage = (
float **) calloc (array->size, sizeof (
float *));
1435 for (i = 0; i < array->size; i++)
1436 array->aveImage[i] = (
float *) calloc (format->iXWidth * format->iYWidth, sizeof (
float));
1456 DetLinearity *array)
1464 free (array->grismId);
1465 free (array->saturated);
1466 free (array->integTime);
1468 free (array->deviation);
1470 for (i = 0; i < array->size; i++)
1471 free (array->aveImage[i]);
1472 free (array->aveImage);
1494 DetRonNoise *callocDetRon (
1495 ImageFormat *imageSize)
1499 DetRonNoise *array=NULL;
1503 array = (DetRonNoise *) calloc (1,
sizeof (DetRonNoise));
1505 array->pattern = (
float *) calloc (imageSize->iXWidth * imageSize->iYWidth,
sizeof(
float));
1506 array->aveImage = (
float *) calloc (imageSize->iXWidth * imageSize->iYWidth,
sizeof(
float));
1533 free (array->pattern);
1534 free (array->aveImage);
1554 ImageQuality *callocImageQuality (
1555 ImageFormat *format)
1559 ImageQuality *image=NULL;
1564 image = (ImageQuality *) calloc (1,
sizeof (ImageQuality));
1566 image->aveImage = (
float **) calloc (format->numOfDetectorRegions, sizeof (
float *));
1567 image->aveImageSky = (
float **) calloc (format->numOfDetectorRegions, sizeof (
float *));
1568 for (i = 0; i < format->numOfDetectorRegions; i++)
1570 image->aveImage[i] = (
float *) calloc (format->iXWidth * format->iYWidth,
sizeof(
float));
1571 image->aveImageSky[i] = (
float *) calloc (format->iXWidth * format->iYWidth,
sizeof(
float));
1574 image->targetFlux = (
float *) calloc (format->numOfDetectorRegions, sizeof (
float));
1575 image->targetPixelCount = (
int *) calloc (format->numOfDetectorRegions, sizeof (
int));
1576 image->coordX = (
double *) calloc (format->numOfDetectorRegions, sizeof (
double));
1577 image->coordY = (
double *) calloc (format->numOfDetectorRegions, sizeof (
double));
1578 image->sizeX = (
double *) calloc (format->numOfDetectorRegions, sizeof (
double));
1579 image->sizeY = (
double *) calloc (format->numOfDetectorRegions, sizeof (
double));
1580 image->tarType = (
char *) calloc (format->numOfFrames,
sizeof(
char));
1599 void freeImageQuality (
1600 ImageFormat *format,
1601 ImageQuality *image)
1609 for (i = 0; i < format->numOfDetectorRegions; i++)
1611 free (image->aveImage[i]);
1612 free (image->aveImageSky[i]);
1615 free (image->tarType);
1616 free (image->aveImage);
1617 free (image->aveImageSky);
1618 free (image->targetFlux);
1619 free (image->targetPixelCount);
1620 free (image->coordX);
1621 free (image->coordY);
1622 free (image->sizeX);
1623 free (image->sizeY);
1644 WaveCalibration *callocWaveCal (
1647 ImageFormat *format)
1651 WaveCalibration *array=NULL;
1656 array = (WaveCalibration *) calloc (1,
sizeof (WaveCalibration));
1658 array->numOfFiles = numOfFiles;
1659 array->tarType = (
char *) calloc (format->numOfFrames,
sizeof(
char));
1660 array->variance = (
float *) calloc (format->numOfDetectorRegions, sizeof (
float));
1661 array->calibratedWave = (
float **) calloc (format->numOfDetectorRegions, sizeof (
float *));
1662 for (i = 0; i < format->numOfDetectorRegions; i++)
1663 array->calibratedWave[i] = (
float *) calloc (format->iXWidth,
sizeof(
float));
1665 array->filterName = (
char **) calloc (numOfFiles,
sizeof (
char *));
1666 array->shutterId = (
char **) calloc (numOfFiles,
sizeof (
char *));
1667 for (i = 0; i < array->numOfFiles; i++)
1669 array->filterName[i] = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
1670 array->shutterId[i] = (
char *) calloc (MIN_STRING_LENGTH,
sizeof (
char));
1674 array->ArIII = (NarrowBandInfo *) calloc (1,
sizeof (NarrowBandInfo));
1675 array->ArIII->fileName = (
char *) calloc (MAX_STRING_LENGTH,
sizeof(
char));
1676 array->ArIII->wavelength = (
float *) calloc (format->numOfDetectorRegions, sizeof (
float));
1677 array->ArIII->xCoord = (
float *) calloc (format->numOfDetectorRegions, sizeof (
float));
1678 array->ArIII->yCoord = (
float *) calloc (format->numOfDetectorRegions, sizeof (
float));
1679 array->ArIII->image = (
float **) calloc (format->numOfDetectorRegions, sizeof (
float *));
1680 for (i = 0; i < format->numOfDetectorRegions; i++)
1681 array->ArIII->image[i] = (
float *) calloc (format->iXWidth * format->iYWidth,
sizeof(
float));
1684 array->NeII = (NarrowBandInfo *) calloc (1,
sizeof (NarrowBandInfo));
1685 array->NeII->fileName = (
char *) calloc (MAX_STRING_LENGTH,
sizeof(
char));
1686 array->NeII->wavelength = (
float *) calloc (format->numOfDetectorRegions, sizeof (
float));
1687 array->NeII->xCoord = (
float *) calloc (format->numOfDetectorRegions, sizeof (
float));
1688 array->NeII->yCoord = (
float *) calloc (format->numOfDetectorRegions, sizeof (
float));
1689 array->NeII->image = (
float **) calloc (format->numOfDetectorRegions, sizeof (
float *));
1690 for (i = 0; i < format->numOfDetectorRegions; i++)
1691 array->NeII->image[i] = (
float *) calloc (format->iXWidth * format->iYWidth,
sizeof(
float));
1694 array->SIV = (NarrowBandInfo *) calloc (1,
sizeof (NarrowBandInfo));
1695 array->SIV->fileName = (
char *) calloc (MAX_STRING_LENGTH,
sizeof(
char));
1696 array->SIV->wavelength = (
float *) calloc (format->numOfDetectorRegions, sizeof (
float));
1697 array->SIV->xCoord = (
float *) calloc (format->numOfDetectorRegions, sizeof (
float));
1698 array->SIV->yCoord = (
float *) calloc (format->numOfDetectorRegions, sizeof (
float));
1699 array->SIV->image = (
float **) calloc (format->numOfDetectorRegions, sizeof (
float *));
1700 for (i = 0; i < format->numOfDetectorRegions; i++)
1701 array->SIV->image[i] = (
float *) calloc (format->iXWidth * format->iYWidth,
sizeof(
float));
1704 array->foil = (FoilInfo *) calloc (1,
sizeof (FoilInfo));
1705 array->foil->actualWavelength = (
float *) calloc (numOfRecords,
sizeof (
float));
1706 array->foil->actualTransmission = (
float *) calloc (numOfRecords,
sizeof (
float));
1707 array->foil->fileName = (
char *) calloc (MAX_STRING_LENGTH,
sizeof(
char));
1708 array->foil->image = (
float **) calloc (format->numOfDetectorRegions, sizeof (
float *));
1709 for (i = 0; i < format->numOfDetectorRegions; i++)
1710 array->foil->image[i] = (
float *) calloc (format->iXWidth * format->iYWidth,
sizeof(
float));
1713 array->open = (OpenInfo *) calloc (1,
sizeof (OpenInfo));
1714 array->open->fileName = (
char *) calloc (MAX_STRING_LENGTH,
sizeof(
char));
1715 array->open->image = (
float **) calloc (format->numOfDetectorRegions, sizeof (
float *));
1716 for (i = 0; i < format->numOfDetectorRegions; i++)
1717 array->open->image[i] = (
float *) calloc (format->iXWidth * format->iYWidth,
sizeof(
float));
1720 array->dark = (DarkInfo *) calloc (1,
sizeof (DarkInfo));
1721 array->dark->fileName = (
char *) calloc (MAX_STRING_LENGTH,
sizeof(
char));
1722 array->dark->image = (
float **) calloc (format->numOfDetectorRegions, sizeof (
float *));
1723 for (i = 0; i < format->numOfDetectorRegions; i++)
1724 array->dark->image[i] = (
float *) calloc (format->iXWidth * format->iYWidth,
sizeof(
float));
1743 ImageFormat *format,
1744 WaveCalibration *array)
1752 for (i = 0; i < array->numOfFiles; i++)
1754 free (array->filterName[i]);
1755 free (array->shutterId[i]);
1757 free (array->filterName);
1758 free (array->shutterId);
1759 free (array->tarType);
1760 free (array->variance);
1762 for (i = 0; i < format->numOfDetectorRegions; i++) free (array->calibratedWave[i]);
1763 free (array->calibratedWave);
1765 for (i = 0; i < format->numOfDetectorRegions; i++) free (array->ArIII->image[i]);
1766 free (array->ArIII->image);
1767 free (array->ArIII->wavelength);
1768 free (array->ArIII->xCoord);
1769 free (array->ArIII->yCoord);
1770 free (array->ArIII->fileName);
1771 free (array->ArIII);
1773 for (i = 0; i < format->numOfDetectorRegions; i++) free (array->NeII->image[i]);
1774 free (array->NeII->image);
1775 free (array->NeII->wavelength);
1776 free (array->NeII->xCoord);
1777 free (array->NeII->yCoord);
1778 free (array->NeII->fileName);
1781 for (i = 0; i < format->numOfDetectorRegions; i++) free (array->SIV->image[i]);
1782 free (array->SIV->image);
1783 free (array->SIV->wavelength);
1784 free (array->SIV->xCoord);
1785 free (array->SIV->yCoord);
1786 free (array->SIV->fileName);
1789 for (i = 0; i < format->numOfDetectorRegions; i++) free (array->foil->image[i]);
1790 free (array->foil->image);
1791 free (array->foil->fileName);
1792 free (array->foil->actualWavelength);
1793 free (array->foil->actualTransmission);
1796 for (i = 0; i < format->numOfDetectorRegions; i++) free (array->open->image[i]);
1797 free (array->open->image);
1798 free (array->open->fileName);
1801 for (i = 0; i < format->numOfDetectorRegions; i++) free (array->dark->image[i]);
1802 free (array->dark->image);
1803 free (array->dark->fileName);