BOOL CParmFindOneDlg::SetValues() { if (m_pRun->SetValues(this)) { UpdateVal(); return TRUE; } else { ClearVal(); return FALSE; } }
/* frqdimname; frequency dimension */ static int getspecparms(int dis_setup, int frqdimname) { char aig[5], dmg[5], dmg1[5]; int dim0,dim1; int r; double x0; // min, max sw values double minval, maxval; if(P_getmin(PROCESSED, "sw", &minval) ) minval = 200.0; if(P_getmax(PROCESSED, "sw", &maxval) ) maxval = 200.0; dim0 = FN0_DIM; dim1 = FN1_DIM; if (d2flag) { if (frqdimname == S_NP) { if (datahead.status & S_SPEC) { Werrprintf("Data file must first be re-initialized with FID data\n"); return(ERROR); } d2flag = FALSE; dim0 = FN0_DIM; dim1 = FN0_DIM; } else { if (ndflag == FOUR_D) { if (frqdimname & S_NP) { dim0 = FN0_DIM; if (frqdimname & S_NI) dim1 = FN1_DIM; else if (frqdimname & S_NI2) dim1 = FN2_DIM; else dim1 = FN3_DIM; } else if (frqdimname & S_NI) { dim0 = FN1_DIM; if (frqdimname & S_NI2) dim1 = FN2_DIM; else dim1 = FN3_DIM; } else { dim0 = FN2_DIM; dim1 = FN3_DIM; } } else if (frqdimname & S_NP) { dim0 = FN0_DIM; dim1 = ( (frqdimname & S_NI2) ? FN2_DIM : FN1_DIM ); } else if ( (~frqdimname) & S_NF ) { dim0 = FN2_DIM; dim1 = FN1_DIM; } else { Werrprintf("Invalid name for 2nd dimension\n"); return(ERROR); } } } /************************************************ * Set the normalization, processing mode, and * * display flags for either 1D or 2D data. * ************************************************/ if ( (r = P_getstring(CURRENT, "aig", aig, 1, 4)) ) { if ( expdir_to_expnum(curexpdir) > 0 ) P_err(r, "aig", ":"); return(ERROR); } if ( (r = P_getstring(CURRENT, "dmg", dmg, 1, 4)) ) { P_err(r, "dmg", ":"); return(ERROR); } normflag = (aig[0] == 'n'); dophase = doabsval = dopower = dophaseangle = dodbm = FALSE; dof1phase = dof1absval = dof1power = dof1phaseangle = FALSE; dophase = ((dmg[0] == 'p') && (dmg[1] == 'h')); if (!dophase) { doabsval = ((dmg[0] == 'a') && (dmg[1] == 'v')); if (!doabsval) { dopower = ((dmg[0] == 'p') && (dmg[1] == 'w')); if (!dopower) { dophaseangle = ((dmg[0] == 'p') && (dmg[1] == 'a')); if (!dophaseangle) { dodbm = ((dmg[0] == 'd') && (dmg[1] == 'b')); if (!dodbm) { Werrprintf("Invalid display mode for 1D spectral data"); return(ERROR); } } } } } if (d2flag) { r = P_getstring(CURRENT, "dmg1", dmg1, 1, 5); if (!r) { r = ( (strcmp(dmg1, "ph1") != 0) && (strcmp(dmg1, "av1") != 0) && (strcmp(dmg1, "pwr1") != 0) ); } if (r) { /* default to "dmg" */ if ( (r = P_getstring(CURRENT, "dmg", dmg1, 1, 4)) ) { P_err(r, "dmg", ":"); disp_status(" "); return(ERROR); } } dof1phase = ((dmg1[0] == 'p') && (dmg1[1] == 'h')); if (!dof1phase) { dof1absval = ((dmg1[0] == 'a') && (dmg1[1] == 'v')); if (!dof1absval) { dof1power = ((dmg1[0] == 'p') && (dmg1[1] == 'w')); if (!dof1power) { dof1phaseangle = ((dmg1[0] == 'p') && (dmg1[1] == 'a')); if (!dof1phaseangle) { Werrprintf("Invalid F1 display mode for 2D spectral data"); return(ERROR); } } } } } if (dis_setup) { /************************************ * Get current display parameters. * ************************************/ P_getreal(CURRENT,"vs",&vs,1); P_getreal(CURRENT,"vsproj",&vsproj,1); P_getreal(CURRENT,"vs2d",&vs2d,1); C_GETPAR("is", &is); C_GETPAR("io", &io); C_GETPAR("th", &th); C_GETPAR("vp", &vp); C_GETPAR("vo", &vo); C_GETPAR("ho", &ho); C_GETPAR("lvl", &lvl); C_GETPAR("tlt", &tlt); } if (d2flag) { /******************************************************* * Check whether the datafile contains FID's, half- * * transformed spectra, or fully transformed spectra. * *******************************************************/ if ( (~datahead.status) & S_SECND) { /* not fully transformed 2D spectrum */ dim1 = ( (datahead.status & S_NI2) ? SW2_DIM : SW1_DIM ); if ( (~datahead.status) & S_SPEC) dim0 = SW0_DIM; } } else { dim0 = FN0_DIM; dim1 = FN1_DIM; } if (d2flag && revflag) { set_spec_display(HORIZ,dim1,VERT,dim0); set_display_label(HORIZ,revchar,VERT,normchar); set_spec_proc(HORIZ,dim1,REVDIR, VERT,dim0,NORMDIR); } else { set_spec_display(HORIZ,dim0,VERT,dim1); set_display_label(HORIZ,normchar,VERT,revchar); set_spec_proc(HORIZ,dim0,NORMDIR, VERT,dim1,REVDIR); } get_sfrq(HORIZ,&sfrq); get_sfrq(VERT,&sfrq1); get_cursor_pars(HORIZ,&cr,&delta); get_phase_pars(HORIZ,&rp,&lp); get_ref_pars(HORIZ,&sw,&rflrfp,&fn); if(sw<=0 || sw>maxval) { Winfoprintf("Error sw out of bounds %f: 0 to %f",sw,maxval); return(ERROR); } get_scale_axis(HORIZ,&axisHoriz); get_scale_axis(VERT,&axisVert); { double axis_scl; int reversed; get_scale_pars(HORIZ,&sp,&wp,&axis_scl,&reversed); if (get_axis_freq(HORIZ)) set_sp_wp(&sp, &wp, sw, fn/2, rflrfp); else set_sf_wf(&sp, &wp, sw, fn/2); UpdateVal(HORIZ,WP_NAME,wp,NOSHOW); UpdateVal(HORIZ,SP_NAME,sp,NOSHOW); } if (d2flag) { get_phase_pars(VERT,&rp1,&lp1); get_ref_pars(VERT,&sw1,&rflrfp1,&fn1); if(dim1==FN1_DIM && (sw1<=0 || sw1>maxval)) { Winfoprintf("Error sw1 out of bounds %f: 0 to %f",sw1,maxval); return(ERROR); } { double axis_scl; int reversed; get_scale_pars(VERT,&sp1,&wp1,&axis_scl,&reversed); if (get_axis_freq(VERT)) set_sp_wp(&sp1, &wp1, sw1, fn1/2, rflrfp1); else set_sf_wf(&sp1, &wp1, sw1, fn1/2); UpdateVal(VERT,WP_NAME,wp1,NOSHOW); UpdateVal(VERT,SP_NAME,sp1,NOSHOW); } x0 = 1.0; if ( get_axis_freq(HORIZ) && get_axis_freq(VERT) ) { if (((axisHoriz == 'c') || (axisHoriz == 'm') || (axisHoriz == 'u')) && ((axisVert == 'c') || (axisVert == 'm') || (axisVert == 'u'))) { if (axisHoriz == 'c') x0 = 1.0; if (axisHoriz == 'm') x0 = 10.0; if (axisHoriz == 'u') x0 = 1e4; if (axisVert == 'c') x0 /= 1.0; if (axisVert == 'm') x0 /= 10.0; if (axisVert == 'u') x0 /= 1e4; } } aspect_ratio = (wp*sfrq1)/(x0*wp1*sfrq); } else { fn1 = fn; sw1 = 0.0; rflrfp1 = 0.0; aspect_ratio = 100.0; } normInt = 0; insval = 1.0; if (!P_getreal(CURRENT, "ins", &insval, 1)) { vInfo info; double tmp; if (!P_getreal(CURRENT, "insref", &tmp, 1)) { P_getVarInfo(CURRENT,"insref",&info); if (!info.active) normInt = 1; else if (tmp > 0.0) insval /= tmp; } } if (insval <= 0.0) insval = 1.0; if (!normInt) insval /= (double) fn; normInt2 = 0; ins2val = 1.0; if (!P_getreal(CURRENT, "ins2", &ins2val, 1)) { vInfo info; double tmp; if (!P_getreal(CURRENT, "ins2ref", &tmp, 1)) { P_getVarInfo(CURRENT,"ins2ref",&info); if (!info.active) normInt2 = 1; else if (tmp > 0.0) ins2val /= tmp; } } if (ins2val <= 0.0) ins2val = 1.0; if (!normInt2) ins2val /= ((double)fn * (double)fn1); return(COMPLETE); }