/* FILE: par_get.c * PURPOSE: Get qdphot5_ParS input parameters * AUTHOR: Kenneth J. Mighell (mighell@noao.edu) * LANGUAGE: ANSI C * DATE: 2001JUL03 * COPYRIGHT: (C) 2001 Assoc. of Universities for Research in Astronomy Inc. */ #include "mx.h" #include "qdphot.h" int qdphot5_ParS_Get_f1 ( qdphot5_ParS *ParS ){ char mxfunc[] = "qdphot5_ParS_Get_f1"; int status = 0; double d; int d_is_INDEF; double d_default; int tmpi; int tmpb; /* * Define some default values */ ParS->gain[0] = 1.0; ParS->bias[0] = 0.0; ParS->ron[0] = 1.0; ParS->mnpeak[0] = -QDPHOT_BIG; ParS->mxpeak[0] = +QDPHOT_BIG; ParS->dx[0] = 0.0; ParS->dy[0] = 0.0; ParS->idint[0] = 1; strcpy( ParS->out[0], "STDOUT"); ParS->ofp[0] = stdout; ParS->coostars = 0; ParS->coodim = 0; ParS->cfp = (FILE *)NULL; status = qdphot5_IrafParStringGet_vf3 ("image1", ParS->image[1], sizeof(ParS->image[1])); if (status) {status=1; goto mx_error1;} ParS->image_is_INDEF[2] = MX_FALSE; ParS->image2_is_image1 = MX_FALSE; status = qdphot5_IrafParStringGet_vf3 ("image2", ParS->image[2], sizeof(ParS->image[2])); if (status) {status=2; goto mx_error1;} if (ParS->image[2][0]=='\0') { strcpy( ParS->image[2], ParS->image[1]); ParS->image_is_INDEF[2] = MX_TRUE; ParS->image2_is_image1 = MX_TRUE; } ParS->out_is_INDEF[1] = MX_FALSE; ParS->ofp[1] = (FILE *)NULL; status = qdphot5_IrafParStringGet_vf3 ("out1", ParS->out[1], sizeof(ParS->out[1])); if (status) {status=3; goto mx_error1;} if (ParS->out[1][0]=='\0') { ParS->ofp[1] = ParS->ofp[0]; strcpy( ParS->out[1], ParS->out[0]); ParS->out_is_INDEF[1] = MX_TRUE; } ParS->out_is_INDEF[2] = MX_FALSE; ParS->ofp[2] = (FILE *)NULL; ParS->out2_is_out1 = MX_FALSE; status = qdphot5_IrafParStringGet_vf3 ("out2", ParS->out[2], sizeof(ParS->out[2])); if (status) {status=4; goto mx_error1;} if (ParS->out[2][0]=='\0') { ParS->ofp[2] = ParS->ofp[1]; strcpy( ParS->out[2], ParS->out[1]); ParS->out_is_INDEF[2] = MX_TRUE; ParS->out2_is_out1 = MX_TRUE; } ParS->coo_is_INDEF = MX_FALSE; status = qdphot5_IrafParStringGet_vf3 ("coords", ParS->coo, sizeof(ParS->coo)); if (status) {status=45; goto mx_error1;} if ( (ParS->coo[0]) == '\0' ) { ParS->coo_is_INDEF = MX_TRUE; } else { status = qdphot5_ParS_CooS_File_f1( ParS ); if (status) {status = 47; goto mx_error1;} } status = qdphot5_IrafParDoubleGet_vf4 ("gain1", ParS->gain[0], &ParS->gain[1], &ParS->gain_is_INDEF[1]); if (status) {status=5; goto mx_error1;} status = qdphot5_IrafParDoubleGet_vf4 ("bias1", ParS->bias[0], &ParS->bias[1], &ParS->bias_is_INDEF[1]); if (status) {status=6; goto mx_error1;} status = qdphot5_IrafParDoubleGet_vf4 ("gain2", ParS->gain[1], &ParS->gain[2], &ParS->gain_is_INDEF[2]); if (status) {status=8; goto mx_error1;} status = qdphot5_IrafParDoubleGet_vf4 ("bias2", ParS->bias[1], &ParS->bias[2], &ParS->bias_is_INDEF[2]); if (status) {status=9; goto mx_error1;} status = qdphot5_IrafParDoubleGet_vf4 ("dx1", ParS->dx[0], &ParS->dx[1], &ParS->dx_is_INDEF[1]); if (status) {status=11; goto mx_error1;} status = qdphot5_IrafParDoubleGet_vf4 ("dy1", ParS->dy[0], &ParS->dy[1], &ParS->dy_is_INDEF[1]); if (status) {status=12; goto mx_error1;} status = qdphot5_IrafParDoubleGet_vf4 ("dx2", ParS->dx[0], &ParS->dx[2], &ParS->dx_is_INDEF[2]); if (status) {status=13; goto mx_error1;} status = qdphot5_IrafParDoubleGet_vf4 ("dy2", ParS->dy[0], &ParS->dy[2], &ParS->dy_is_INDEF[2]); if (status) {status=14; goto mx_error1;} status = qdphot5_IrafParIntegerGet_vf4 ("mxstars", 0, &ParS->mxstars, &ParS->mxstars_is_INDEF); if (status) {status=14; goto mx_error1;} if ((ParS->mxstars)<1) ParS->mxstars = 0; ParS->dosearch = MX_FALSE; ParS->showsearch = MX_FALSE; status = qdphot5_IrafParDoubleGet_vf4 ("search2", 0.0, &ParS->search2, &ParS->search2_is_INDEF); if (status) {status=15; goto mx_error1;} if ((ParS->search2)<0) { ParS->search2 = fabs(ParS->search2); ParS->showsearch = MX_TRUE; } if ((ParS->search2)>0) ParS->dosearch = MX_TRUE; status = qdphot5_IrafParBooleanGet_vf2 ("rejects", &ParS->rejects); if (status) {status=155; goto mx_error1;} status = qdphot5_IrafParDoubleGet_vf4 ("ron1", ParS->ron[0], &ParS->ron[1], &ParS->ron_is_INDEF[1]); if (status) {status=16; goto mx_error1;} status = qdphot5_IrafParDoubleGet_vf4 ("ron2", ParS->ron[1], &ParS->ron[2], &ParS->ron_is_INDEF[2]); if (status) {status=17; goto mx_error1;} status = qdphot5_IrafParDoubleGet_vf4 ("mnsnr", 8.0, &ParS->mnsnr, &ParS->mnsnr_is_INDEF); if (status) {status=18; goto mx_error1;} if ((ParS->mnsnr)<=0) ParS->mnsnr = 5; status = qdphot5_IrafParDoubleGet_vf4 ("mnpeak1", ParS->mnpeak[0], &ParS->mnpeak[1], &ParS->mnpeak_is_INDEF[1]); if (status) {status=23; goto mx_error1;} status = qdphot5_IrafParDoubleGet_vf4 ("mnpeak2", ParS->mnpeak[1], &ParS->mnpeak[2], &ParS->mnpeak_is_INDEF[2]); if (status) {status=24; goto mx_error1;} status = qdphot5_IrafParDoubleGet_vf4 ("mxpeak1", ParS->mxpeak[0], &ParS->mxpeak[1], &ParS->mxpeak_is_INDEF[1]); if (status) {status=25; goto mx_error1;} status = qdphot5_IrafParDoubleGet_vf4 ("mxpeak2", ParS->mxpeak[1], &ParS->mxpeak[2], &ParS->mxpeak_is_INDEF[2]); if (status) {status=26; goto mx_error1;} status = qdphot5_IrafParIntegerGet_vf4 ("idint1", ParS->idint[0], &ParS->idint[1], &ParS->idint_is_INDEF[1]); if (status) {status=27; goto mx_error1;} status = qdphot5_IrafParIntegerGet_vf4 ("idint2", ParS->idint[1], &ParS->idint[2], &ParS->idint_is_INDEF[2]); if (status) {status=28; goto mx_error1;} status = qdphot5_IrafParDoubleGet_vf4 ("mnsharp", 0.0, &ParS->mnsharp, &ParS->mnsharp_is_INDEF); if (status) {status=291; goto mx_error1;} if (ParS->mnsharp>1.) ParS->mnsharp=1.; if (ParS->mnsharp<0.) ParS->mnsharp=0.; status = qdphot5_IrafParDoubleGet_vf4 ("mxsharp", 1.0, &ParS->mxsharp, &ParS->mxsharp_is_INDEF); if (status) {status=29; goto mx_error1;} if (ParS->mxsharp>1.) ParS->mxsharp=1.; if (ParS->mxsharp<0.) ParS->mxsharp=0.; if (ParS->mnsharp==ParS->mxsharp) { ParS->mnsharp=0.; ParS->mxsharp=1.; } status = qdphot5_IrafParDoubleGet_vf4 ("mnround", 0.0, &ParS->mnround, &ParS->mnround_is_INDEF); if (status) {status=301; goto mx_error1;} if (ParS->mnround>1.) ParS->mnround=1.; if (ParS->mnround<0.) ParS->mnround=0.; status = qdphot5_IrafParDoubleGet_vf4 ("mxround", 1.0, &ParS->mxround, &ParS->mxround_is_INDEF); if (status) {status=302; goto mx_error1;} if (ParS->mxround>1.) ParS->mxround=1.; if (ParS->mxround<0.) ParS->mxround=0.; if (ParS->mnround>=ParS->mxround) { ParS->mnround=0.; ParS->mxround=1.; } status = qdphot5_IrafParDoubleGet_vf4 ("mnangle", -90.0, &ParS->mnangle, &ParS->mnangle_is_INDEF); if (status) {status=303; goto mx_error1;} if (ParS->mnangle>90.) ParS->mnangle=90.; if (ParS->mnangle<-90.) ParS->mnangle=-90.; status = qdphot5_IrafParDoubleGet_vf4 ("mxangle", 90.0, &ParS->mxangle, &ParS->mxangle_is_INDEF); if (status) {status=304; goto mx_error1;} if (ParS->mxangle>90.) ParS->mxangle=90.; if (ParS->mxangle<-90.) ParS->mxangle=-90.; if (ParS->mnangle>=ParS->mxangle) { ParS->mnangle=-90.; ParS->mxangle=90.; } status = qdphot5_IrafParDoubleGet_vf4 ("mnkappa", -9.999, &ParS->mnkappa, &ParS->mnkappa_is_INDEF); if (status) {status=31; goto mx_error1;} if (ParS->mnkappa>9.999) ParS->mnkappa=9.999; if (ParS->mnkappa<-9.999) ParS->mnkappa=-9.999; status = qdphot5_IrafParDoubleGet_vf4 ("mxkappa", 9.999, &ParS->mxkappa, &ParS->mxkappa_is_INDEF); if (status) {status=32; goto mx_error1;} if (ParS->mxkappa>9.999) ParS->mxkappa=9.999; if (ParS->mxkappa<-9.999) ParS->mxkappa=-9.999; if (ParS->mxkappamnkappa) { ParS->mnkappa_is_INDEF = MX_TRUE; ParS->mnkappa=-9.999; ParS->mxkappa_is_INDEF = MX_TRUE; ParS->mxkappa=9.999; } ParS->odx2 = 0.0; ParS->ody2 = 0.0; ParS->moving = MX_FALSE; /* * HACKER ALERT * * activate MOVING option by setting ostars to be negative * */ status = qdphot5_IrafParIntegerGet_vf4 ("ostars", 0, &tmpi, &tmpb); if (status) {status=33; goto mx_error1;} if (tmpi<0) ParS->moving = MX_TRUE; ok: status = 0; goto bye; mx_error1: mxp_tmpmsg_init_f0(); mx_error2: mxp_errmsg_append_f3 (mxfunc, status, MX.tmpmsg); goto bye; bye: return(status); } /* end-of-file */