Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Origin 6.0/3d.ogs/*------------------------------------------------------------------------------* * File Name: 3D.ogs * * Purpose: 3D Rotation Tools * * Author: George John 8/19/98 * * Modifications: * * * * *------------------------------------------------------------------------------*/ [Init] if (layer.Is3D != 1) { type -b; return 1; } if ( RotAngle3D < 0 || RotAngle3D > 360 ) RotAngle3D = 10; //;layer -3D M dialog; return 0; [End] plot -Page [OneToSix] if (run.section(,Init)) return 1; //type -b "$(%1)"; x = RotAngle3D; if(x < 0 || x > 360) x=20; i=int((1 + %1)/2); if(layer.3dcoor==1) %B="Z H V"; else %B="Y H V"; %A=%[%B,#i]; //RotAngle.value=x; x *= mod(%1,2)==1?-1:1; if(layer.3dcoor==0 && i==1) x*=-1;/* we had a wrong convention for this */ layer -3D R %A x; run.section(,End); [Per3Plus] if (run.section(,Init)) return 1; layer -3d m P+1; run.section(,End); [Per3Minus] if (run.section(,Init)) return 1; layer -3d m P-1; run.section(,End); [RotRestore] if (run.section(,Init)) return 1; layer -3d m Rotation; //run.section(,End); x1=x1;// force axes redraw [FitFrame] if (run.section(,Init)) return 1; layer -3d m F; run.section(,End); Origin 6.0/3D.OTP Origin 6.0/3dbars.OTP Origin 6.0/AAA_ExI_J.OTP Origin 6.0/AAA_mec_quant.OTP Origin 6.0/AAA_VxI.OTP Origin 6.0/ABFDLL.HLP Origin 6.0/AddOn Setup/DATA.TAG[TagInfo] Company=Microcal Application=Origin Version=6.00.000 Category=Development Tool Misc= Origin 6.0/AddOn Setup/data1.cab Origin 6.0/AddOn Setup/data1.hdr Origin 6.0/AddOn Setup/lang.dat Origin 6.0/AddOn Setup/layout.bin Origin 6.0/AddOn Setup/os.dat[Info] Name=PLATFORM Version=1.00.000 [0x0009] OS Independent=0x0000000000000000 Windows 3.1 & 3.11=0x0000000000000001 Windows 95=0x0000000000000010 Windows 98=0x0000000000000040 Windows NT 3.51 (Intel)=0x0000000000001000 Windows NT 3.51 (Alpha)=0x0000000000002000 Windows NT 3.51 (MIPS)=0x0000000000004000 Windows NT 4.0 (Intel)=0x0000000000010000 Windows NT 4.0 (Alpha)=0x0000000000020000 Windows NT 4.0 (MIPS)=0x0000000000040000 Origin 6.0/AddOn Setup/Setup.bmp Origin 6.0/AddOn Setup/Setup.exe Origin 6.0/AddOn Setup/SETUP.INI[Startup] AppName=AddOn FreeDiskSpace=506 EnableLangDlg=Y [ISUPDATE] UpdateURL=http:// Origin 6.0/AddOn Setup/setup.ins Origin 6.0/AddOn Setup/setup.lid[Languages] key0=0009 Default=0009 count=1 Origin 6.0/AddOn Setup/_inst32i.ex_ Origin 6.0/AddOn Setup/_ISDel.exe Origin 6.0/AddOn Setup/_Setup.dll Origin 6.0/AddOn Setup/_sys1.cab Origin 6.0/AddOn Setup/_sys1.hdr Origin 6.0/AddOn Setup/_user1.cab Origin 6.0/AddOn Setup/_user1.hdr Origin 6.0/AREA.OTP Origin 6.0/ARROW.OGS// Filename: Arrow.ogs // Creation: 10/31/1996 // Purpose: Script to be called from the Arrow toolbar ////////////////////////////////////////////////////////////////// [Horizontal] select -toggle horz; [Vertical] select -toggle vert; [Widen] select -head angle 5; [Narrow] select -head angle -5; [Lengthen] select -head length 5; [Shorten] select -head length -5; Origin 6.0/ASSAYS.OGS// Filename: Assays.ogs // Creation: by Laurie Shea, 5/10/96 // Purpose: Modularized Code for standard curves // Calibration Model // 1. Linear Fit // 2. Quadratic Fit // 3. Cubic Fit // 4. Spline Fit // 5. Boltzmann Fit // 6. Logistic Fit // 7. ExpDecay Fit // // Modifications: // RKM 2/12/97 Standard.otw now in buttons directory MOVE_STANDARD // JMP 8/05/97 Use COPY commands instead of domenu operations for COPY and PASTE //////////////////////////////////////////////////////////////////////////////// // Sets the number of replicates to display //////////////////////////////////////////////////////////////////////////////// [Display] if(format.choice==1) { if (wks.ncols<replicates.value+1) worksheet -a replicates.value-wks.ncols+1; else { for(;wks.ncols>(replicates.value+1);) { delete %(%H,wks.ncols); } } for(ii=2;ii<=wks.ncols;ii++) { wks.col$(ii).type=1; } doc -uw; } else { if(wks.ncols/2<replicates.value) worksheet -a (replicates.value*2-wks.ncols); else { if(wks.ncols/2>replicates.value) { jj=wks.ncols-(replicates.value*2+1)+1; repeat (jj) {delete %(%H,wks.ncols)}; } } for(ii=1;ii<=wks.ncols;ii++) { if(ii/2!=int(ii/2)) wks.col$(ii).type=4; } doc -uw; } [SelectionCk] if(format.choice==2 && datarange.choice==2 && (wks.c2-wks.c1+1)/2 != int((wks.c2-wks.c1+1)/2)) { type -b $calibrate.oddnumofcolumns; return 1; }; if(datarange.choice==2 && wks.c1==wks.c2) { type -b $calibrate.noselection; return 1; } return 0; //////////////////////////////////////////////////////////////////////////////// // Code which is called from Standard worksheet //////////////////////////////////////////////////////////////////////////////// [Standard] if (run.section(,selectionck)==0) { run.section(,worksheetselection); if(replicates.v1>1) { switch (format.choice) { case 1: run.section(,average1); break; case 2: run.section(,average2); break; } } else { ///RKM Standard.otw now in buttons directory MOVE_STANDARD doc -cw standard; doc -t buttons\standard.otw; win -r %H Standard$(count+1); /// %(%H,1)=%(%W,1); %(%H,2)=%(%W,2); delete %H_SD; sort -c 1 2 %(%H,1); //sort in ascending order }; } //////////////////////////////////////////////////////////////////////////////// // Main Code called from 'Calculations' buttons //////////////////////////////////////////////////////////////////////////////// [Main] switch (index) { case 1: run.section(,fit); run.section(,predictX); layer -a; break; case 2: run.section(,fit); run.section(,predictY); layer -a; break; case 3: run.section(,clear); break; case 4: run.section(,help); break; }; //////////////////////////////////////////////////////////////////////////////// //Fit the data to the selected model. //////////////////////////////////////////////////////////////////////////////// [Fit] %W=%H; //store active window name in %W /* %A holds the name of calibration model */ %A=model.l$(model.choice)$; //gets the calibration model %A=%[%A,#1]; //strips the word fit doc -cp %A; win -t plot standard %A$(count+1); if (%W!model.choice==6) layer1.x.type=2; if(exist(%W_SD)==1) { get %W_SD -e ErrorEnd; if(ErrorEnd!=0) { layer -i (%W_YAve) (%W_SD) (%W_Ynew); set %W_SD -o %W_Yave; //Set as +- error bars set %W_SD -c 1; //Set color to black } else { layer -i (%W_YAve) (%W_Ynew); } delete -v ErrorEnd; } else { layer -i (%W_YAve) (%W_Ynew); } layer -i201 %W_YAve; //Set type to scatter (just to make sure) set %W_YAve -c 1; //Set color to black layer -i201 %W_Ynew; set %W_Ynew -c 4; //Set color to blue layer -a; //rescale to show all switch(%W!model.choice) { case 1 to 3: run.section(,commonlinear); break; case 4: run.section(,Spline); break; case 5: run.section(,Boltzmann); break; case 6: run.section(,Logistic); break; case 7: run.section(,ExpDecay); break; } //////////////////////////////////////////////////////////////////////////////// // //Worksheet Selection // //////////////////////////////////////////////////////////////////////////////// [WorksheetSelection] //if entire worksheet selected if(datarange.choice==1) { %W=%H; } else { %W=%H; getenumtempwks origin Selection; //open hidden worksheet - name is in %A NumCols=((%W!wks.c2-%W!wks.c1+1)-%A!wks.ncols)>=0?((%W!wks.c2-%W!wks.c1+1)-%A!wks.ncols):0; win -o %A { worksheet -a NumCols; } delete -v NumCols; for (ii=%W!wks.c1,jj=1;ii<=%W!wks.c2;ii++,jj++) { copy -b (%W!wks.r1) %(%W,ii) %(%A,jj) -b 1 -e (%W!wks.r2-%W!wks.r1+1); } %W=%A; }; //////////////////////////////////////////////////////////////////////////////// // // Averages the data when the data is in XYYY Format // first column assumed to be the X data //////////////////////////////////////////////////////////////////////////////// [Average1] // xyyy format ///RKM Standard.otw now in buttons directory MOVE_STANDARD doc -cw standard; doc -t buttons\standard.otw; win -r %H Standard$(count+1); /// sum(%W,2,$(%(%W,@#))); %(%H,1)=%(%W,1); %(%H,2)=_Mean; %(%H,3)=_SD; sort -c 1 3 %(%H,1); //sort in ascending order //////////////////////////////////////////////////////////////////////////////// // Averages the data when the data is in XYXY Format ////////////////////////////////////////////////////////////////////////////////// [Average2] //xyxy //Create 2 scratch worksheets //first worksheet averages the X columns getenumtempwks origin %WX; /*execute script for the named window*/ win -o %A { worksheet -a (%W!wks.ncols/2 -2); for (ii=1;ii<=%(%W,@#)/2;ii++) wcol(ii)=%(%W,(ii-1)*2+1); %B=%H; page.closebits=2; }; getenumtempwks origin %WY; win -o %A { worksheet -a (%W!wks.ncols/2 -2); for (ii=1;ii<=%(%W,@#)/2;ii++) wcol(ii)=%(%W,ii*2); page.closebits=2; }; ///RKM Standard.otw now in buttons directory MOVE_STANDARD doc -cw standard; doc -t buttons\standard.otw; win -r %H Standard$(count+1); /// sum(%B,1,$(%(%B,@#))); %(%H,1)=_Mean; sum(%A,1,$(%(%A,@#))); %(%H,2)=_Mean; %(%H,3)=_SD; sort -c 1 3 %(%H,1); //sort in ascending order win -o %A {win -ca}; win -o %B {win -ca}; //////////////////////////////////////////////////////////////////////////////// // // Linear Fit, Quadratic Fit, Cubic Fit depending upon the selected model // //////////////////////////////////////////////////////////////////////////////// [CommonLinear] /*depending upon the calibration model*/ /*performs a linear regression on the data*/ /*performs a 2nd order polynomial regression*/ /*performs a 3rd order polynomial regression*/ stat.reset(); stat.data$=%(1,@D); %A=stat.data$; %B=errof(%(1,@D))$; if(exist(%B)==1) { get %B -e ErrorEnd; if(ErrorEnd!=0) stat.errbarData$=%B; else stat.errbarData$=""; delete -v ErrorEnd; } else { stat.errbarData$=""; } if (%W!model.choice==1) stat.name(0,%A,A,Line); else stat.name(0,%A,A,Poly); %A=stat.name.worksheet$; if (exist(%A)==2) //Kill the already existing AND open worksheet win -o %A {page.closebits=2;win -ca;}; create %A -wd 1000 XFit YFit; //create a worksheet with two columns named XFit and YFit if (%W!model.choice==2) stat.pr.order=2; else if (%W!model.choice==3) stat.pr.order=3; stat.fitxdata$=%A_XFit; stat.fitYdata$=%A_YFit; stat.makeX.fitnpts=1000; %A=stat.data$; limit %A; stat.makex.fitx1=limit.xmin; stat.makex.fitx2=limit.xmax; stat.makex(); if (%W!model.choice==1) stat.LR(); else stat.PR(); %A=stat.name.worksheet$; layer -i200 %A_YFit; set %A_Yfit -c 2; %A=%A_XFit; //%A stores the X values for the calibrated curve %B=%[%A,'_']_YFit; //%B stores the Y values for the calibrated curve //////////////////////////////////////////////////////////////////////////////// // Fits the data to an exponential decay //////////////////////////////////////////////////////////////////////////////// [ExpDecay] /* Exponential decay 1 Fit*/ /*Fit y0+A1*e^(-(x-x0)/t1) to %(1,@D) */ nlsf.func$=ExpDecay1; run.section(fit,KineticInit,0.05); run.section(assays,AutoNLSF); //////////////////////////////////////////////////////////////////////////////// // Sets the data plot line connection method to Spline //////////////////////////////////////////////////////////////////////////////// [Spline] set %(1,@D) -l 9; //line connection method set to Spline stat.name(0,%(1,@D),A,Spline); %B=stat.name.worksheet$; if (exist(%B)==2) //Kill the already existing AND open worksheet win -o %B {page.closebits=2;win -ca;}; copy -s 1000 %(1,@D) %B_spline; %B=stat.name.worksheet$; %B=%B_spline; //Stores name of associated y column %A=xof(%B); //Stores name of associated x column return 0; //////////////////////////////////////////////////////////////////////////////// // Fits the data to a sigmoidal //////////////////////////////////////////////////////////////////////////////// [Boltzmann] //Sigmoidal fit to %(1,@D) nlsf.func$ = Boltzmann; copy -x %(1,@D) dummy; deriv dummy; integ -q dummy; dx = integ.dx/2; x0 = integ.x0; limit %(1,@D); if(limit.imax < limit.imin) { temp = limit.ymax; limit.ymax=limit.ymin; limit.ymin=temp; } A1=limit.ymin; A2=limit.ymax; run.section(,autoNLSF); /* the generic macro for iterating 20 times */ [Logistic] nlsf.func$= Logistic; limit %(1,@D); if (limit.imax<limit.imin) { temp = limit.ymax; limit.ymax=limit.ymin; limit.ymin=temp; } A1=limit.ymin; A2=limit.ymax; P=1; X0=limit.xmin*100; run.section(,autoNLSF); /* the generic macro for iterating 20 times */ //////////////////////////////////////////////////////////////////////////////// // // Finds unknown X values from given Y values // //////////////////////////////////////////////////////////////////////////////// [PredictX] %W_Xnew=table(%B,%A,%W_Ynew); //////////////////////////////////////////////////////////////////////////////// // // Finds unknown Y values from given X values // //////////////////////////////////////////////////////////////////////////////// [PredictY] %W_Ynew=table(%A,%B,%W_Xnew); //////////////////////////////////////////////////////////////////////////////// // // Clears columns Xnew and Ynew // //////////////////////////////////////////////////////////////////////////////// [Clear] _temp1=%(%H,1); _temp2=%(%H,2); if(wks.ncols!=4) _temp3=%(%H,3); clearworksheet %H; %(%H,1)=_temp1;delete _temp1; %(%H,2)=_temp2;delete _temp2; if(wks.ncols!=4) { %(%H,3)=_temp3; delete _temp3; } worksheet -s (wks.ncols-1) 1 (wks.ncols-1) 1;//place cursor in nice place //////////////////////////////////////////////////////////////////////////////// // Provides instructions ///////////////////////////////////////////////////////////////////////////////// [Help] type -b $calibrate.help; //////////////////////////////////////////////////////////////////////////////// // NonLinear Least Squares Fitting ////////////////////////////////////////////////////////////////////////////////// [AutoNLSF] nlsf.cleanupfitdata(); nlsf.fitdata$=%(1,@D); nlsf.tolerance=0; nlsf.W$=errof(%(1,@D)); //use error bars as weight if (nlsf.w$=="") nlsf.wtype=0; else nlsf.wtype=1; nlsf.xBegin=limit.xmin; nlsf.xEnd=limit.xmax; xpoints=nlsf.xPoints; //Save the current nlsf.xPoints nlsf.xPoints=1000; nlsf.fit(20); //FIT, 20 iterations %B=nlsf.funccol$; //stores name of calibrated curve %A=xof(%B); //stores name of associated x column nlsf.xPoints=xpoints; //Restore nlsf.xPoints delete -v xpoints; Origin 6.0/Axabffio32.dll Origin 6.0/Backup.OPJ Origin 6.0/BAR.OTP Origin 6.0/BAR3D.OTP Origin 6.0/BASE.OGO Origin 6.0/BASELINE.OGO Origin 6.0/BASELINE.OGS// Filename: Baseline.ogs // Purpose: Peak picking, baseline creation and integration //////////////////////////////////////////////////////////////////////////////// [Tab.BaseLn.Init] Baseline!Tab.BaseLn.NumPoints.v1=10; [Tab.Peaks.Init] Baseline!Tab.Peaks.MinWidth.v1=5; Baseline!Tab.Peaks.MaxWidth.v1=40; Baseline!Tab.Peaks.MinHeight.v1=5; Baseline!Tab.Peaks.Labels=1; Baseline!Tab.Peaks.CenterMarker=1; Baseline!Tab.Peaks.BaseMarker=1; [Tab.Area.Init] Baseline!Tab.Area.IntCurve.choice=1; [Initialize] if (%C=="") { type -b $Baseline.NoValidData; return 1; } if(Layer.is3D==1) { type -b $General.2DGraphsOnly; return 1; } else { curve.data$=%C; //Active Dataset curve.worksheet$=%[%C,'_']; //Worksheet containing Active Dataset curve.plotname$=%H; //Active plot window return 0; } [Check] if(run.section(,CheckBase)==0) { run.section(,Supp); //If it is a dataset, run the Supp section } else return 1; [Tab.BaseLn.Auto.clicked] if(Baseline!Tab.BaseLn.NumPoints.v1==0) { type -b $Baseline.Points; return 1; } run.section(,Create); curve.basey$=%A_basey; curve.baseX$=%A_basex; curve.base$=%A_basey; curve.baselinepts=Baseline!Tab.BaseLn.NumPoints.v1; curve.minpeakrange=Baseline!Tab.Peaks.MinWidth.v1; curve.maxpeakrange=Baseline!Tab.Peaks.MaxWidth.v1; curve.minheight=Baseline!Tab.Peaks.MinHeight.v1; curve.baseline.fittype=2; if(curve.baseline()==0/0) { stat.makeX.fitnpts=Baseline!Tab.BaseLn.NumPoints.v1; stat.fitxdata$=%A_basex; stat.makex.fitx1=limit.xmin; stat.makex.fitx2=limit.xmax; stat.makex(); set %A_basey -e Baseline!Tab.BaseLn.NumPoints.v1; curve.basey$=%A_basey; curve.baseX$=%A_basex; curve.base$=%A_basey; %i=curve.base$; %B=curve.data$; limit %B; (%i)=limit.ymin; layer -i200 %i; //include the baseline data set %i -c 2; } %i=curve.base$; %B=curve.data$; limit %B; (%i)=%i>limit.ymax?limit.ymax:%i; (%i)=%i<limit.ymin?limit.ymin:%i; (%i)=%i==0/0?limit.ymin:%i; layer -i200 %i; //include the baseline data set %i -c 2; return; [Tab.BaseLn.UserDef.clicked] run.section(,Create); limit %C; stat.makeX.fitnpts=Baseline!Tab.BaseLn.NumPoints.v1; stat.fitxdata$=%A_basex; stat.makex.fitx1=limit.xmin; stat.makex.fitx2=limit.xmax; stat.makex(); set %A_basey -e Baseline!Tab.BaseLn.NumPoints.v1; curve.basey$=%A_basey; curve.baseX$=%A_basex; curve.base$=%A_basey; %i=curve.base$; %B=Baseline!Tab.BaseLn.YEquals$; Usereq(x)=%B; %A_Basey=Usereq(%A_basex); %B=curve.data$; limit %B; (%i)=%i==0/0?limit.ymin:%i; layer -i200 %i; //include the baseline data set %i -c 2; delete usereq; return; [Tab.BaseLn.ExDataset.clicked] run.section(,Create); %A=Baseline!Tab.BaseLn.Dataset$; if(exist(%A)!=1) { type -b $Baseline.NoBaseData; break; }; %B=create.wksname$; %B_basey=%A; %B_basex=xof(%A); curve.basey$=%B_basey; curve.baseX$=%B_basex; curve.base$=%B_basey; %i=curve.base$; layer -i200 %i; //include the baseline data return 0; [Create] if(run.section(,Initialize)!=0) break; %B=%C; %A=""; doc -e W { %A=$Baseline.PageLabel; if("page.label$"==%A) { %A=%H; Break; } } if (exist(%A)==2) { win -o %A { create.wksName$=%A; create.enumwks=0; loop(ii,1,%A!wks.ncols) { del col(1); } if(page.extinfo==1) { type -b $Baseline.NoExcelWks; return 1; } } } else { create.wksName$="Base"; create.enumwks=1; } create.wkslabel$=$Baseline.PageLabel; create.template$="CREATE"; create.type1=4; create.type2=1; create.wks(basex basey); %A=create.wksname$; return; //Origin stores the baseline data in %i [Supp] %B=%C; %i=curve.basey$; if (%i!="") { if (exist(%i)==1) curve.base$=%i; else { ty -b $baseline.novaliddata; return 1; } } else { ty -b $baseline.nodataset; return 1; } layer -i200 %i; //include the baseline data in the layer set %i -c 2; return 0; [Tab.BaseLn.Subtract.clicked] if(run.section(Baseline,Check)==1) return 1; if(run.section(,Initialize)!=0) return 1; if(run.section(,CheckI)==1); if (exist(%A)==1) { copy %A %A_bk; %A=curve.data$; copy %A %A_bk; //backup the original data layer -e %i; //take the baseline out of the layer %A - %i; %i - %i; layer -i200 %i; set %i -c 2; %B=curve.markerindex$; doc -e S { if("%[%c,>'_']"=="pky" || "%[%c,>'_']"=="PosPkL" || "%[%c,>'_']"=="NegPkL" || "%[%c,>'_']"=="BMkY") layer -e %c; }; layer -a; //rescale Baseline!StoreBaseline$=%i; //store the baseline and active dataset Baseline!StoreActive$=curve.data$; //for undo checking } else type -b $Baseline.NoBaselineData; [Tab.BaseLn.UndoSubtr.clicked] run.section(Baseline,Check); if(run.section(,Initialize)!=0) break; run.section(,CheckI); doc -e S { if("%[%c,>'_']"=="pky" || "%[%c,>'_']"=="PosPkL" || "%[%c,>'_']"=="NegPkL" || "%[%c,>'_']"=="BMkY") layer -e %c; }; layer -a; //rescale %A=curve.basey$; %B=curve.data$; if(exist(%A_bk)!=1||exist(%B_bk)!=1) { ty -b $baseline.nobackup; return; } else { copy %B_bk %B; copy %A_bk %A; layer -a; delete %A_bk; delete %B_bk; %i=Baseline!StoreBaseline$; }; return 0; [Tab.BaseLn.Modify.clicked] run.section(Baseline,Check); dotool 0; %B=%C; %A=""; doc -e W { %A=$Baseline.PageLabel; if("page.label$"==%A) { %A=%H; Break; } } if(exist(%A)==2) { set %i -m 1; mvpts %i; } else { type -b $Baseline.NoBaselineData; } [Tab.Peaks.FindPeaks.clicked] doc -uw; %B=%C; %A=""; doc -e W { %A=$Baseline.PageLabel; if("page.label$"==%A) { %A=%H; Break; } } if(exist(%A)!=2) { if(run.section(,CheckBase)!=0) break; } else { curve.basey$=%A_basey; curve.baseX$=%A_basex; curve.base$=%A_basey; } if(run.section(,Initialize)!=0) break; %J=%C; %B=%C; %A=""; doc -e W { %A=$Baseline.BasePeaks; if("page.label$"==%A) { %A=%H; Break; } } if (exist(%A)==2) { win -o %A { create.wksName$=%A; create.enumwks=0; loop(ii,1,%A!wks.ncols) { del col(1); } if(page.extinfo==1) { type -b $Baseline.NoExcelWks; return 1; } } } else { create.wksName$="BsPeak"; create.enumwks=1; } create.wkslabel$=$Baseline.BasePeaks; create.template$="CREATE"; create.type1=2; create.type2=2; create.type3=4; create.type4=1; create.type5=5; create.type6=5; create.type7=2; create.type8=4; create.type9=1; create.wks(PkIndex PkDir Pkx Pky PosPkL NegPkL BMkIndex BMkX BMkY); %A=create.wksname$; curve.markerindex$=%A_BMkIndex; curve.peakindex$=%A_PkIndex; curve.peakdirection$=%A_PkDir; if(exist(%A)==2) { win -o %A { if(page.extinfo==1) { type -b $Baseline.NoExcelWks; return 1; } } } Baseline!StoreString$=%A; if(Baseline!Tab.Peaks.MinWidth.v1<0 || Baseline!Tab.Peaks.MinWidth.v1>100) { type -b $baseline.minpercent; //minimum width must be between 0 and 100 return; } if(Baseline!Tab.Peaks.MaxWidth.v1<0 || Baseline!Tab.Peaks.MaxWidth.v1>100) { type -b $baseline.maxpercent; //maximum width must be between 0 and 50 return; } curve.minpeakrange=(Baseline!Tab.Peaks.MinWidth.v1)/100; curve.maxpeakrange=(Baseline!Tab.Peaks.MaxWidth.v1)/100; curve.minheight=(Baseline!Tab.Peaks.MinHeight.v1)/100; if (curve.pickpeaks()==0/0) run.section(,ErrSec); win -o %A { get %A_PkIndex -e end; for(ii=1;ii<=end;ii+=1) { index=%A_pkindex[ii]; %A_Pkx[ii]=xvalue(index,%j); //find the peak's x and y values in the active dataset %A_Pky[ii]=%j[index]; } if (Baseline!Tab.Peaks.BaseMarker==1) { curve.markerindex$=%A_BMkIndex; get %A_BMkIndex -e end; for(i=1;i<=end;i+=1) { index=%A_BMkindex[i]; %A_BMkX[i]=xvalue(index,%j); //find the x and y values for the base markers %A_BMky[i]=%j[index]; } } }; win -o %A { get %h_PkY -b beginIndx; get %h_PkY -e EndIndx; range = EndIndx-beginIndx+1; for(i=1;i<=range;i+=1;) { %A=($(col(Pkx)[i])); if(col(PkDir)[i]$=="POS") col(PosPkL)[i]$=%A; //set values for positive labels else col(NegPkL)[i]$=%A; //set values for positive labels } }; %A=Baseline!StoreString$; if(Baseline!Tab.Peaks.Labels) { %B=%A_PosPkL; layer -i %B; //Add labels set %B -ty 70; //Offset in the y direction by 70 percent set %B -tj 1; //Left Alignment f=font(arial); set %B -tf f; //set the font to Arial %B=%A_NegPkL; layer -i %B; //Add labels set %B -ty -70; //Offset in the y direction by 70 percent set %B -tj 1; //Left Alignment f=font(arial); set %B -tf f; //set the font to Arial } if(Baseline!Tab.Peaks.CenterMarker) { %B=%A_Pky; layer -i201 %B; //add Peak Centers set %B -c 2; //Set the color to red set %B -k 6; //Set the data point symbol to vertical line | set %B -z 8; //point size to 15 set %B -l 0; //line connection to none } if(Baseline!Tab.Peaks.BaseMarker) { %A=curve.markerindex$; %B=%[%A, '_']; %B=%B_BMkY; layer -i201 %B; //Add Base markers set %B -c 4; set %B -k 10; set %B -z 12; set %B -l 0; } return; [DelPeaks] %A=curve.peakindex$; %A=%[%A,'_']; %A=%A_pky; if(exist(%A)==1) { Mark -x %A; def EndToolbox [;i1=_indx[1];undo -dr %A i1 i1; Mark -d %A -b i1 -e i1]; GetPts 1 $Baseline.ClkPtsDel; } else { ty -b $baseline.createpeak; return 1; } win -o %A { if(Baseline!Tab.Peaks.BaseMarker) { if(exist(col(MrkIndx))) { wks.col=colnum(MrkIndx); hadcolm=1; delete col(MrkIndx); } if(exist(col(BMkX))) { wks.col=colnum(BMkX); delete col(BMkX); } if(exist(col(BMkY))) delete col(BMkY); if(hacolm!=1) wks.col=wks.ncols+1; hadcolm=0; wks.insert(MrkIndx BMkX BMkY); n=colnum(BMkX); wks.col$(n).type=4; //set to X column curve.markerindex$=%A_MrkIndx; } }; win -o %A { get %h_PkY -b beginIndx; get %h_PkY -e EndIndx; range = EndIndx-beginIndx+1; for(i=1;i<=range;i+=1;) { %A=($(col(Pkx)[i]),$(col(Pky)[i])); col(pKlabel)[i]$=%A; } }; if(Baseline!Tab.Peaks.Labels) { layer -i201 %A; set %A -c 10; set %A -k 1; set %A -z 10; set %A -l 0; } if(Baseline!Tab.Peaks.CenterMarker) { %B=%[%A, '_']; %A=%B_Pklabel; layer -i %A; // set %A -z 8; set %A -c 8; } if(Baseline!Tab.Peaks.BaseMarker) { %A=curve.markerindx$; %B=curve.data$; set %B -y %A; layer -i201 %A; set %A -c 4; set %A -k 7; set %A -z 15; set %A -l 0; } [CheckBase] %A=curve.base$; if(exist(%A)!=1) { type -n $Baseline.CreateBase; run.section(,Tab.BaseLn.Auto.clicked); } else { return 0; } [Modi] %A=curve.markerindex$; if(exist(%A)) { set %A -m 1; mvpts %A; //def EndToolBox {Runtool base follow;}; } else { ty -b $baseline.createmark; return 1; } [Tab.Area.UseBaseLn.clicked] if(run.section(,Check)==0) run.section(,Integ,1); [Tab.Area.FromY.clicked] if(run.section(,Check)==0) run.section(,Integ,2); [Integ] if(run.section(,Initialize)!=0) break; curve.show=1; if(Baseline!Tab.Area.BaseMarker==1) { if (run.section(,CheckMark)!=0) { type -b $Baseline.CreateMark; return 1; } } switch (%1) { case 1: if (run.section(,CheckI)!=0) { type -b $Baseline.NoBaselineData; return 1; } break; case 2: curve.base$=""; //No baseline for integration break; }; if(Baseline!Tab.Area.BaseMarker==1) { %B=%C; %A=$Baseline.BasePeaks; doc -e W { if("page.label$"==%A) { %A=%H; Break; } } Baseline!StoreString$=%A; win -o %A { if(exist(col(area))) { wks.col=colnum(Area); delete col(Area); hadcolm=1; } if(exist(col(Hwidth))) delete col(Hwidth); if(exist(col(Center))) delete col(Center); if(exist(col(Height))) delete col(Height); wks.multix=1; if(hadcolm!=1) wks.col=wks.ncols+1; hadcolm=0; n=colnum(BMkIndex); wks.col=n; wks.insert(Area Center Height Hwidth); curve.areas$=%h_Area; curve.halfwidths$=%h_Hwidth; curve.centers$=%h_Center; curve.Heights$=%h_Height; }; %a=curve.markerindex$; err=curve.mrkintegrate(); run.section(,Output,1); } /// not integral curve and not using markers if(Baseline!Tab.Area.IntCurve.choice==1 && $(Baseline!Tab.Area.BaseMarker)!=1) { err=curve.integrate(); run.section(,Output,0); } if(Baseline!Tab.Area.IntCurve.choice==2 || Baseline!Tab.Area.IntCurve.choice==3) { %A=curve.worksheet$; win -o %A { %B=curve.data$; wks.col=colnum(%B); %B=%[%B,>'_']; for (;1;) { if (wks.col$(wks.col+1).type==3) wks.col+=1; else break; } wks.col+=1; //Insert after Y or any Error Bar data... wks.insert(Integ); curve.result$=%(%H,wks.col); %A=%(%H,wks.col); }; err=curve.integrate(); if(Baseline!Tab.Area.IntCurve.choice==3) { ;win -t plot line; queue { layer -i200 %A; set %A -c 4; layer -A; } } else { layer -i200 %A; set %A -c 4; layer -A; } run.section(,Output,0); } if(exist(%i)==1) curve.base$=%i; if (MkS1>=0) { i1=MkS1; i2=MkS2; } else { get %C -b i1; get %C -e i2; } [Output] SaveRedirection=type.Redirection(16,3); // SDB 1/7/99 v6.0148 REPORT_TO_OUTPUTLOG type.BeginResults(); /// RKM 12/10/98 v6.0141 REPORT_TO_OUTPUTLOG if (%1==0) { //integrate with no markers type $baseline.Results; separator 3; type "$(Curve.integrate.Area)\t$(Curve.integrate.Center)\t$(Curve.integrate.height)"; separator 3; } else { //integrate with markers %A=curve.peakindex$; get %A -e end; type $baseline.Results2; separator 5; for(i=1;i<=end;i+=1) { %A=%[%A,'_']; type "Peak $(i)\t$(%A_area[i])\t$(%A_Center[i])\t$(%A_height[i])\t$(%A_hwidth[i])"; } separator 5; } type.EndResults(); type.Redirection=SaveRedirection; // restore previous redirection. delete -v SaveRedirection; return 0; [ErrSec] switch (curve.lasterrid()) { case 849: type -b; //Beep type -b $Baseline.MinWidth; //Minimum width is too small type -q; //Clear up the status bar break; case 850: type -b; type -b $Baseline.Maxwidth; //Maximum width is too small type -q; break; }; //////////////////////////////////////////////////// //Verifies that the baseline data is in the layer // //////////////////////////////////////////////////// [CheckI] %B=%C; %A=curve.basey$; if(exist(%A)==1) { %I=%A; return 0; } else return 1; [CheckMark] %B=%C; %A=""; doc -e W { %A=$Baseline.BasePeaks; if("page.label$"==%A) { %A=%H; Break; } } if(exist(%A)==2) { %B=%A_bmky; curve.markerindex$=%A_bmkindex; curve.peakindex$=%A_pkindex; curve.areas$=%A_area; curve.halfwidths$=%A_hwidth; curve.centers$=%A_Center; curve.heights$=%A_Height; return 0; } else return 1; [Tab.Area.BaseMarker.clicked] Baseline!Tab.Area.IntCurve.choice=Baseline!Tab.Area.BaseMarker==1?1:0; Origin 6.0/BASELINE.OPS[VERSION] Version=1.000000 [PREPARE] StoreBaseline.KIND$=EDITBOX; StoreString.KIND$=EDITBOX; StoreBaseline.SHOW=0; StoreBaseline.ENABLE=1; StoreBaseline$=""; StoreString.SHOW=0; StoreString.ENABLE=1; StoreString$=""; [Tab.BaseLn.PREPARE] Tab.BaseLn.NumPoints.KIND$=EDITBOX; Tab.BaseLn.Auto.KIND$=BUTTON; Tab.BaseLn.UserDef.KIND$=BUTTON; Tab.BaseLn.YEquals.KIND$=EDITBOX; Tab.BaseLn.ExDataset.KIND$=BUTTON; Tab.BaseLn.Dataset.KIND$=EDITBOX; Tab.BaseLn.Subtract.KIND$=BUTTON; Tab.BaseLn.UndoSubtr.KIND$=BUTTON; Tab.BaseLn.Modify.KIND$=BUTTON; Tab.BaseLn.NumPoints.SHOW=1; Tab.BaseLn.NumPoints.ENABLE=1; Tab.BaseLn.NumPoints$=10; Tab.BaseLn.Auto.SHOW=1; Tab.BaseLn.Auto.ENABLE=1; Tab.BaseLn.Auto$=Automatic; Tab.BaseLn.UserDef.SHOW=1; Tab.BaseLn.UserDef.ENABLE=1; Tab.BaseLn.UserDef$=User Defined Equation; Tab.BaseLn.YEquals.SHOW=1; Tab.BaseLn.YEquals.ENABLE=1; Tab.BaseLn.YEquals$=""; Tab.BaseLn.ExDataset.SHOW=1; Tab.BaseLn.ExDataset.ENABLE=1; Tab.BaseLn.ExDataset$=Existing Dataset; Tab.BaseLn.Dataset.SHOW=1; Tab.BaseLn.Dataset.ENABLE=1; Tab.BaseLn.Dataset$=""; Tab.BaseLn.Subtract.SHOW=1; Tab.BaseLn.Subtract.ENABLE=1; Tab.BaseLn.Subtract$=Subtract; Tab.BaseLn.UndoSubtr.SHOW=1; Tab.BaseLn.UndoSubtr.ENABLE=1; Tab.BaseLn.UndoSubtr$=Undo Subtraction; Tab.BaseLn.Modify.SHOW=1; Tab.BaseLn.Modify.ENABLE=1; Tab.BaseLn.Modify$=Modify; [Tab.Peaks.PREPARE] Tab.Peaks.MinWidth.KIND$=EDITBOX; Tab.Peaks.MaxWidth.KIND$=EDITBOX; Tab.Peaks.MinHeight.KIND$=EDITBOX; Tab.Peaks.Labels.KIND$=CHECKBOX; Tab.Peaks.CenterMarker.KIND$=CHECKBOX; Tab.Peaks.BaseMarker.KIND$=CHECKBOX; Tab.Peaks.FindPeaks.KIND$=BUTTON; Tab.Peaks.MinWidth.SHOW=1; Tab.Peaks.MinWidth.ENABLE=1; Tab.Peaks.MinWidth$=5; Tab.Peaks.MaxWidth.SHOW=1; Tab.Peaks.MaxWidth.ENABLE=1; Tab.Peaks.MaxWidth$=40; Tab.Peaks.MinHeight.SHOW=1; Tab.Peaks.MinHeight.ENABLE=1; Tab.Peaks.MinHeight$=5; Tab.Peaks.Labels.SHOW=1; Tab.Peaks.Labels.ENABLE=1; Tab.Peaks.Labels=1; Tab.Peaks.Labels$=Labels; Tab.Peaks.CenterMarker.SHOW=1; Tab.Peaks.CenterMarker.ENABLE=1; Tab.Peaks.CenterMarker=1; Tab.Peaks.CenterMarker$=Center Markers; Tab.Peaks.BaseMarker.SHOW=1; Tab.Peaks.BaseMarker.ENABLE=1; Tab.Peaks.BaseMarker=1; Tab.Peaks.BaseMarker$=Base Markers; Tab.Peaks.FindPeaks.SHOW=1; Tab.Peaks.FindPeaks.ENABLE=1; Tab.Peaks.FindPeaks$=Find Peaks; [Tab.Peaks.SET] Tab.Peaks.CenterMarker=1; Tab.Peaks.BaseMarker=1; [Tab.Area.PREPARE] Tab.Area.IntCurve.KIND$=RADIOBUTTON; Tab.Area.Add2Graph.KIND$=RADIOBUTTON; Tab.Area.NewGraph.KIND$=RADIOBUTTON; Tab.Area.BaseMarker.KIND$=CHECKBOX; Tab.Area.UseBaseLn.KIND$=BUTTON; Tab.Area.FromY.KIND$=BUTTON; Tab.Area.IntCurve.V1$=Not Created; Tab.Area.IntCurve.V2$=Add to Graph; Tab.Area.IntCurve.V3$=Make New Graph; Tab.Area.IntCurve.SHOW=1; Tab.Area.IntCurve.ENABLE=1; Tab.Area.IntCurve=1; Tab.Area.IntCurve$=""; Tab.Area.Add2Graph.V1$=Add to Graph; Tab.Area.Add2Graph.V2$=Make New Graph; Tab.Area.Add2Graph.SHOW=1; Tab.Area.Add2Graph.ENABLE=1; Tab.Area.Add2Graph=0; Tab.Area.Add2Graph$=""; Tab.Area.NewGraph.V1$=Make New Graph; Tab.Area.NewGraph.SHOW=1; Tab.Area.NewGraph.ENABLE=1; Tab.Area.NewGraph=0; Tab.Area.NewGraph$=""; Tab.Area.BaseMarker.SHOW=1; Tab.Area.BaseMarker.ENABLE=1; Tab.Area.BaseMarker=0; Tab.Area.BaseMarker$=Use Base Markers; Tab.Area.UseBaseLn.SHOW=1; Tab.Area.UseBaseLn.ENABLE=1; Tab.Area.UseBaseLn$=Use Baseline; Tab.Area.FromY.SHOW=1; Tab.Area.FromY.ENABLE=1; Tab.Area.FromY$=From Y = 0; [WINPOS] TOP=73 LEFT=480 Origin 6.0/BOX.OTP Origin 6.0/BUBBLE.OTP Origin 6.0/Buttons/ASSAYS.OTW Origin 6.0/Buttons/BATCH.OGS//////////////////////////////////////////////////////////////////////////////// // Filename: BATCH.OGS // Creation: by Lorraine Weibel, 6/1/96 // Purpose: Demonstration of a simple LabTalk batch process routine // Modifications: SDB-Updated for Origin 6.0 //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// // Main Section // This code calls other specialized sections to accomplish the main task. // // Execute script: run.section(Batch,Main); // Operations: // 1. Import each file into a new worksheet // 2. Plot all data in worksheet to a graph window // 3. Perform Linear fit from Simplefit code in LR.OGS // 4. Report Slope and Intercept values to Results log for each fit //////////////////////////////////////////////////////////////////////////////// [Main] FDLOG.multiopen.colview=12; //12/7/98 new property for dialog options FDLOG.UseGroup(Ascii); //Open ASCII files if (FDLOG.multiopen()==0/0) return 1; loop(ii,1,FDlog.MultiOpen.Count) { FDlog.Get(A, ii); win -t data; open -w %A; run.section(,Plot,%H); //Run Plot section run.section(,Fit); } [Plot] win -t plot Origin; //Bring up origin.otp layer -w %1 201; //Include worksheet data in the active layer layer -a; //Rescale x and y axes return 0; [Fit] type.BeginResults(); /// RKM 12/10/98 v6.0141 REPORT_TO_OUTPUTLOG layer -c; loop(ii,1,count) { %C=%[%Z,#ii]; run.section(lr,simplefit); run.section(,Results,%[%Z,#ii]); }; type.EndResults(); return 0; [Results] SaveRedirection=type.Redirection(16,3); //SDB 1/7/99 REPORT_TO_OUTPUTLOG type -a "Slope of %1 is $(stat.lr.b)"; //Returns slope type -a "Y-Intercept of %1 is $(stat.lr.a)"; //Returns y-intercept value type; //Type out an extra line. type.Redirection=SaveRedirection; //restore previous redirection. delete -v SaveRedirection; return 0; Origin 6.0/Buttons/CONVERT.OTW Origin 6.0/Buttons/INTERPOL.OTW Origin 6.0/Buttons/LABELPKS.OTP Origin 6.0/Buttons/PEAKSIM.OTW Origin 6.0/Buttons/SIMPLE.OTP Origin 6.0/Buttons/STANDARD.OTW Origin 6.0/BUTTONS.OTP Origin 6.0/CMAP.OTP Origin 6.0/COLSTAT.OTW Origin 6.0/COLUMN.OTP Origin 6.0/CONTGRAY.OTP Origin 6.0/CONTLINE.OTP Origin 6.0/CONTOUR.OTP Origin 6.0/COUNT.OTW Origin 6.0/CREATE.OTW Origin 6.0/custom.ogs// Filename: Custom.ogs // Purpose: The Custom Routine button on the standard toolbar will use this code, by calling // the [Main] section // Modifications: //////////////////////////////////////////////////////////////////////////////// // Main Code //////////////////////////////////////////////////////////////////////////////// [Main] type -b $General.Userbutton; Origin 6.0/DL35WD32.DLL Origin 6.0/DOUBLEY.OTP Origin 6.0/DROPLINE.OTP Origin 6.0/EBBMP2.FLT Origin 6.0/EBBMP2.INI[EBBMP] ~Default Mode=Standard Options ~Mode=Standard Options ~Header=BMP Output Filter Setup Standard Options=EBBMP.1 [Standard Options] DefaultFileSpec=\ota\new_data\*.bmp Driver=EBBMP.1 Color Format=221 Resolution Mode=310 X Resolution=150 Y Resolution=150 Width=11 Height=8.5 Size Mode=603 Compression Mode=224 Origin 6.0/EBJPG2.FLT Origin 6.0/EBJPG2.INI[EBJPG] ~Default Mode=Standard Options ~Mode=Standard Options ~Header=JPG Output Filter Setup Standard Options=EBJPG.1 [Standard Options] Driver=EBJPG.1 Resolution Mode=310 Color Mode=103 X Resolution=150 Y Resolution=150 Width=11 Height=8.5 Size Mode=603 Color Format=212 Quality Mode=242 Quality=100 Format Type=1 Operation=245 Origin 6.0/EBPCX2.FLT Origin 6.0/EBPCX2.INI[EBPCX] ~Default Mode=Standard Options ~Mode=Standard Options ~Header=PCX Output Filter Setup Standard Options=EBPCX.1 PC Paintbrush=EBPCX.1 [Standard Options] DefaultFileSpec=\ota\new_data\*.pcx Driver=EBPCX.1 Color Mode=103 Resolution Mode=310 X Resolution=150 Y Resolution=150 Width=11 Height=8.5 Color Format=221 Size Mode=603 [PC Paintbrush] DefaultFileSpec=\ota\new_data\*.pcx Driver=EBPCX.1 Color Mode=103 Resolution Mode=310 X Resolution=640 Y Resolution=480 Width=1.00000 Height=1.00000 Color Format=219 Origin 6.0/EBPNG2.FLT Origin 6.0/EBPNG2.INI[EBPNG] ~Default Mode=Standard Options ~Mode=Standard Options ~Header=PNG Output Filter Setup Standard Options=EBPNG.1 [Standard Options] DefaultFileSpec=\ota\new_data\*.png Driver=EBPNG.1 Resolution Mode=310 Color Mode=103 X Resolution=150 Y Resolution=150 Width=11.30 Height=7.93 Size Mode=603 Data Format= Color Format=221 Transparency=744 BkgColor Mode=753 Origin 6.0/EBPSD2.FLT Origin 6.0/EBPSD2.INI[EBPSD] ~Default Mode=Standard Options ~Mode=Standard Options ~Header=PSD Output Filter Setup Standard Options=EBPSD.1 [Standard Options] DefaultFileSpec=\ota\new_data\*.psd Driver=EBPSD.1 Color Format=221 Resolution Mode=310 X Resolution=150 Y Resolution=150 Width=11 Height=8.5 Size Mode=603 Compression Mode=224 Origin 6.0/EBTGA2.FLT Origin 6.0/EBTGA2.INI[EBTGA] ~Default Mode=Standard Options ~Mode=Standard Options ~Header=TGA Output Filter Setup Standard Options=EBTGA.1 [Standard Options] DefaultFileSpec=\ota\new_data\*.tga Driver=EBTGA.1 Resolution Mode=310 Compression Mode=1 Color Mode=103 X Resolution=150 Y Resolution=150 Width=11 Height=8.5 Bitmap Mode=221 Size Mode=603 X Size= Y Size= Color Format= Origin 6.0/ebtif2.flt Origin 6.0/ebtif2.ini[EBTIF] ~Default Mode=Standard Options ~Mode=Standard Options ~Header=TIFF Output Filter Setup Standard Options=EBTIF.1 [Standard Options] DefaultFileSpec=\ota\new_data\*.tif Driver=EBTIF.1 Resolution Mode=310 Compression Mode=224 Color Mode=103 X Resolution=150 Y Resolution=150 Width=11 Height=8.5 Bitmap Mode=221 Size Mode=603 X Size=10 Y Size=10 Origin 6.0/EBXPM2.FLT Origin 6.0/EBXPM2.INI[EBXPM] ~Default Mode=Standard Options ~Mode=Standard Options ~Header=XPM Output Filter Setup Standard Options=EBXPM.1 [Standard Options] DefaultFileSpec=\ota\new_data\*.xpm Driver=EBXPM.1 Resolution Mode=310 Color Mode=103 X Resolution=150 Y Resolution=150 Width=11 Height=8.5 Size Mode=603 Color Format=221 Hotspot Mode=701 X Hotspot=0 Y Hotspot=1 Origin 6.0/EBXWD2.FLT Origin 6.0/EBXWD2.INI[EBXWD] ~Default Mode=Standard Options ~Mode=Standard Options ~Header=XWD Output Filter Setup Standard Options=EBXWD.1 [Standard Options] DefaultFileSpec=\ota\new_data\*.xwd Driver=EBXWD.1 Resolution Mode=310 Color Mode=103 X Resolution=150 Y Resolution=150 Width=11 Height=8.5 Size Mode=603 Hotspot Mode=701 X Hotspot=0 Y Hotspot=0 Data Format=711 Origin 6.0/EMCGM2.FLT Origin 6.0/EMCGM2.INI[EMCGM] ~Default Mode=Standard Options (ANSI) ~Mode=Standard Options (ANSI) ~Header=CGM Output Filter Setup Standard Options (ANSI)=EMCGM.1 ANSI CGM 3.0=EMCGM.9 MIL-D-28003 (CALS)=EMCGM.2 MIL-D-28003A (CALS)=EMCGM.3 Lotus Freelance Plus (Ver. 3.01)=EMCGM.4 Harvard Graphics (Ver. 2.3)=EMCGM.5 Inso GDSF (Ver. 1.0)=EMCGM.6 Inso GDSF (Ver. 2.0)=EMCGM.10 Applause II=EMCGM.7 CorelDraw=EMCGM.8 [Standard Options (ANSI)] Driver=EMCGM.1 Color Mode=103 Text Mode=115 Line Mode=119 [MIL-D-28003 (CALS)] Driver=EMCGM.2 Text Mode=115 Color Mode=103 Line Mode=119 ; NOTE: ; The CALS profile allows a maximum font list of 4 fonts selected ; from the following fonts: Font[001]="HERSHEY:SIMPLEX_ROMAN", "HERSHEY:SIMPLEX_ROMAN" Font[002]="HERSHEY:DUPLEX_ROMAN", "HERSHEY:DUPLEX_ROMAN" Font[003]="HERSHEY:COMPLEX_ROMAN", "HERSHEY:COMPLEX_ROMAN" Font[004]="HERSHEY:COMPLEX_ITALIC", "HERSHEY:COMPLEX_ITALIC" ;Font[005]="HERSHEY:CARTOGRAPHIC_ROMAN", "HERSHEY:CARTOGRAPHIC_ROMAN" ;Font[006]="HERSHEY:CARTOGRAPHIC_GREEK", "HERSHEY:CARTOGRAPHIC_GREEK" ;Font[007]="HERSHEY:SIMPLEX_GREEK", "HERSHEY:SIMPLEX_GREEK" ;Font[008]="HERSHEY:SIMPLEX_SCRIPT", "HERSHEY:SIMPLEX_SCRIPT" ;Font[009]="HERSHEY:COMPLEX_GREEK", "HERSHEY:COMPLEX_GREEK" ;Font[010]="HERSHEY:COMPLEX_SCRIPT", "HERSHEY:COMPLEX_SCRIPT" ;Font[011]="HERSHEY:COMPLEX_CYRILLIC", "HERSHEY:COMPLEX_CYRILLIC" ;Font[012]="HERSHEY:TRIPLEX_ROMAN", "HERSHEY:TRIPLEX_ROMAN" ;Font[013]="HERSHEY:TRIPLEX_ITALIC", "HERSHEY:TRIPLEX_ITALIC" ;Font[014]="HERSHEY:GOTHIC_GERMAN", "HERSHEY:GOTHIC_GERMAN" ;Font[015]="HERSHEY:GOTHIC_ENGLISH", "HERSHEY:GOTHIC_ENGLISH" ;Font[016]="HERSHEY:GOTHIC_ITALIAN", "HERSHEY:GOTHIC_ITALIAN" [MIL-D-28003A (CALS)] Driver=EMCGM.3 Text Mode=115 Color Mode=103 Line Mode=119 ; NOTE: ; The CALS profile allows a maximum font list of 4 fonts selected ; from the following fonts: Font[001]="HERSHEY:SIMPLEX_ROMAN", "HERSHEY:SIMPLEX_ROMAN" Font[002]="HERSHEY:DUPLEX_ROMAN", "HERSHEY:DUPLEX_ROMAN" Font[003]="HERSHEY:COMPLEX_ROMAN", "HERSHEY:COMPLEX_ROMAN" Font[004]="HERSHEY:COMPLEX_ITALIC", "HERSHEY:COMPLEX_ITALIC" ;Font[005]="HERSHEY:CARTOGRAPHIC_ROMAN", "HERSHEY:CARTOGRAPHIC_ROMAN" ;Font[006]="HERSHEY:CARTOGRAPHIC_GREEK", "HERSHEY:CARTOGRAPHIC_GREEK" ;Font[007]="HERSHEY:SIMPLEX_GREEK", "HERSHEY:SIMPLEX_GREEK" ;Font[008]="HERSHEY:SIMPLEX_SCRIPT", "HERSHEY:SIMPLEX_SCRIPT" ;Font[009]="HERSHEY:COMPLEX_GREEK", "HERSHEY:COMPLEX_GREEK" ;Font[010]="HERSHEY:COMPLEX_SCRIPT", "HERSHEY:COMPLEX_SCRIPT" ;Font[011]="HERSHEY:COMPLEX_CYRILLIC", "HERSHEY:COMPLEX_CYRILLIC" ;Font[012]="HERSHEY:TRIPLEX_ROMAN", "HERSHEY:TRIPLEX_ROMAN" ;Font[013]="HERSHEY:TRIPLEX_ITALIC", "HERSHEY:TRIPLEX_ITALIC" ;Font[014]="HERSHEY:GOTHIC_GERMAN", "HERSHEY:GOTHIC_GERMAN" ;Font[015]="HERSHEY:GOTHIC_ENGLISH", "HERSHEY:GOTHIC_ENGLISH" ;Font[016]="HERSHEY:GOTHIC_ITALIAN", "HERSHEY:GOTHIC_ITALIAN" ;Font[017]="HELVETICA", "Sans Serif Normal" ;Font[018]="HELVETICA BOLD", "Sans Serif Bold" ;Font[019]="HELVETICA OBLIQUE", "Sans Serif Italic" ;Font[020]="HELVETICA BOLD OBLIQUE", "Sans Serif Bold Italic" ;Font[021]="TIMES_ROMAN", "Serif Normal" ;Font[022]="TIMES_ROMAN BOLD", "Serif Bold" ;Font[023]="TIMES_ROMAN ITALIC", "Serif Italic" ;Font[024]="TIMES_ROMAN BOLD ITALIC", "Serif Bold Italic" ;Font[025]="COURIER", "Monospaced Normal" ;Font[026]="COURIER BOLD", "Monospaced Bold" ;Font[027]="COURIER ITALIC", "Monospaced Italic" ;Font[028]="COURIER BOLD ITALIC", "Monospaced Bold Italic" [Lotus Freelance Plus (Ver. 3.01)] Driver=EMCGM.4 Text Mode=115 CharacterSet=LMBCS ; CharacterSet=SHIFT-JIS Font[001]="Swiss", "Swiss:Helvetica" Font[002]="Swiss", "Swiss:Helvetica Bold" Font[003]="Swiss", "Swiss:Helvetica Oblique" Font[004]="Swiss", "Swiss:Helvetica Bold Oblique" Font[005]="Serif Stroke", "Roman:Tms Rmn" Font[006]="Serif Stroke", "Roman:Tms Rmn Bold" Font[007]="Serif Stroke", "Roman:Tms Rmn Italic" Font[008]="Serif Stroke", "Roman:Tms Rmn Bold Italic" Color Mode=103 Line Mode=119 [Harvard Graphics (Ver. 2.3)] Driver=EMCGM.5 Color Mode=103 Text Mode=115 Font[001]="", "Swiss:Helvetica" Font[002]="", "Swiss:Helvetica Oblique" Font[003]="", "Swiss:Helvetica Bold" Font[004]="", "Roman:Tms Rmn" Font[005]="", "Roman:Tms Rmn Italic" Font[006]="", "Roman:Tms Rmn Bold" Font[007]="", "HERSHEY:GOTHIC_ENGLISH" Font[008]="", "Script:ZapfChancery" Font[009]="", "" Font[010]="", "" Font[011]="", "" Font[012]="", "" Font[013]="", "" Font[014]="", "" Line Mode=119 [Inso GDSF (Ver. 1.0)] Driver=EMCGM.6 Color Mode=103 Text Mode=115 Line Mode=119 [Applause II] Driver=EMCGM.7 Text Mode=115 Font[001]="", "" Font[002]="", "" Font[003]="Swiss", "Swiss:Helvetica" Font[004]="Swiss Italic", "Swiss:Helvetica Oblique" Font[005]="Swiss Bold", "Swiss:Helvetica Bold" Font[006]="Swiss Bold Italic", "Swiss:Helvetica Bold Oblique" Font[007]="", "" Font[008]="", "" Font[009]="", "" Font[010]="", "" Font[011]="Dutch", "Roman:Tms Rmn" Font[012]="Dutch Italic", "Roman:Tms Rmn Italic" Font[013]="Dutch Bold", "Roman:Tms Rmn Bold" Font[014]="Dutch Bold Italic", "Roman:Tms Rmn Bold Italic" Color Mode=103 Line Mode=119 [CorelDraw] Driver=EMCGM.8 Color Mode=103 Text Mode=115 Line Mode=119 [ANSI CGM 3.0] Driver=EMCGM.9 Color Mode=103 Text Mode=115 Line Mode=119 [Inso GDSF (Ver. 2.0)] Driver=EMCGM.10 Color Mode=103 Text Mode=115 Line Mode=119 Origin 6.0/EMDXF2.FLT Origin 6.0/EMDXF2.INI[EMDXF] ~Default Mode=Binary DXF ~Mode=Standard Options (Text DXF) ~Header=DXF Output Filter Setup Standard Options (Text DXF)=EMDXF.1 Binary DXF=EMDXF.3 [Standard Options (Text DXF)] DefaultFileSpec=\ota\new_data\*.dxf Driver=EMDXF.1 Font[001]="ROMANS", "HERSHEY:SIMPLEX_ROMAN" Font[002]="GREEKS", "HERSHEY:SIMPLEX_GREEK" Font[003]="SCRIPTS", "HERSHEY:SIMPLEX_SCRIPT" Font[004]="ROMAND", "HERSHEY:DUPLEX_ROMAN" Font[005]="ROMANC", "HERSHEY:COMPLEX_ROMAN" Font[006]="ITALICC", "HERSHEY:COMPLEX_ITALIC" Font[007]="SCRIPTC", "HERSHEY:COMPLEX_SCRIPT" Font[008]="GREEKC", "HERSHEY:COMPLEX_GREEK" Font[009]="CYRILLIC", "HERSHEY:COMPLEX_CYRILLIC" Font[010]="ROMANT", "HERSHEY:TRIPLEX_ROMAN" Font[011]="MONOTXT", "HERSHEY:TRIPLEX_ITALIC" Font[012]="GERMANG", "HERSHEY:GOTHIC_GERMAN" Font[013]="GERMANE", "HERSHEY:GOTHIC_ENGLISH" Font[014]="GERMANI", "HERSHEY:GOTHIC_ITALIAN" Font[015]="SYMATH", "Symbol:ZapfDingbats" Output Unit=Inches Color Mode=103 [Binary DXF] DefaultFileSpec=\ota\new_data\*.dxf Driver=EMDXF.3 Font[001]="ROMANS", "HERSHEY:SIMPLEX_ROMAN" Font[002]="GREEKS", "HERSHEY:SIMPLEX_GREEK" Font[003]="SCRIPTS", "HERSHEY:SIMPLEX_SCRIPT" Font[004]="ROMAND", "HERSHEY:DUPLEX_ROMAN" Font[005]="ROMANC", "HERSHEY:COMPLEX_ROMAN" Font[006]="ITALICC", "HERSHEY:COMPLEX_ITALIC" Font[007]="SCRIPTC", "HERSHEY:COMPLEX_SCRIPT" Font[008]="GREEKC", "HERSHEY:COMPLEX_GREEK" Font[009]="CYRILLIC", "HERSHEY:COMPLEX_CYRILLIC" Font[010]="ROMANT", "HERSHEY:TRIPLEX_ROMAN" Font[011]="MONOTXT", "HERSHEY:TRIPLEX_ITALIC" Font[012]="GERMANG", "HERSHEY:GOTHIC_GERMAN" Font[013]="GERMANE", "HERSHEY:GOTHIC_ENGLISH" Font[014]="GERMANI", "HERSHEY:GOTHIC_ITALIAN" Font[015]="SYMATH", "Symbol:ZapfDingbats" Output Unit=Inches Color Mode=103 Origin 6.0/EMPCT2.FLT Origin 6.0/EMPCT2.INI[EMPCT] ~Default Mode=Standard Options ~Mode=Standard Options ~Header=PICT Output Filter Setup Standard Options=EMPCT.1 [Standard Options] Driver=EMPCT.1 Text Mode=115 Line Mode=119 Fill Mode=122 Background Rect=0 Color Mode=103 Origin 6.0/EMPDF2.FLT Origin 6.0/EMPDF2.INI[EMPDF] ~Default Mode=Monochrome Printing ~Mode=Standard Options ~Header=PDF Output Filter Setup Standard Options=MOPDF.1 *Monochrome Settings=MOPDF.1 [Standard Options] Driver=MOPDF.1 ; These are Base 14 Adobe Type 1 Fonts that should always be here Font[001]="Helvetica", "Swiss:Helvetica" Font[002]="Helvetica-Bold", "Swiss:Helvetica Bold" Font[003]="Helvetica-Oblique", "Swiss:Helvetica Oblique" Font[004]="Helvetica-BoldOblique", "Swiss:Helvetica Bold Oblique" Font[005]="Times-Roman", "Roman:Times" Font[006]="Times-Bold", "Roman:Times Bold" Font[007]="Times-Italic", "Roman:Times Italic" Font[008]="Times-BoldItalic", "Roman:Times Bold Italic" Font[009]="Courier", "Modern:Courier" Font[010]="Courier-Bold", "Modern:Courier Bold" Font[011]="Courier-Oblique", "Modern:Courier Oblique" Font[012]="Courier-BoldOblique", "Modern:Courier Bold Oblique" Font[013]="ZapfDingbats", "Symbol:ZapfDingbats" Font[014]="Symbol", "Symbol:Symbol" ; These are the fonts that can be added by a user in the system Font[015]="BrushScript", "Matura" Font[016]="BrushScript", "Brush Script" Font[017]="Desdemona", "Desdemona" Font[018]="Arial", "Arial" Font[019]="Braggadocio", "Braggadocio" Font[020]="ColonnaMT", "Colonna MT" Font[021]="BrushScript", "Brush738 BT" Font[022]="Boton-Regular", "Bookman Old Style" Font[023]="Algerian", "Algerian" Font[024]="Boton-Regular", "Bookman Old Style" Font[025]="WideLatin", "Wide Latin" Font[026]="CenturyGothic", "Century Gothic" Font[027]="PopplLaudatio-Regular", "EngraversGothic" Font[028]="Desdemona", "Onyx" Font[029]="Perpetua", "Blackletter686" Font[030]="Helvetica", "Arrus" Font[031]="PopplLaudatio-Regular", "BernhardMod" Font[032]="Times-Roman", "GeoSlab703" Text Mode=115 Line Mode=119 Fill Mode=122 Color Mode=103 Background Rectangle=0 [*Monochrome Settings] Driver=MOPDF.1 Font[001]="", "" Font[002]="", "" Font[003]="", "" Font[004]="", "" Font[005]="", "" Font[006]="", "" Font[007]="", "" Font[008]="", "" Font[009]="", "" Font[010]="", "" Font[011]="", "" Font[012]="", "" Font[013]="", "" Font[014]="", "" Line Mode=119 Fill Mode=122 Text Mode=115 Color Mode=106 Origin 6.0/emps_2.flt Origin 6.0/emps_2.ini[EMPS_] ; DUAL MODE AI/EPS ~Default Mode=Standard Options - EPS ~Mode=Standard Options - AI ~Header=AI/EPS Output Filter Setup Standard Options - AI=EMPS_.2 Standard Options - EPS=EMPS_.4 ;********************************* [EMAI_] ; AI ONLY MODE ~Default Mode=Standard Options - AI ~Mode=Standard Options - AI ~Header=AI Output Filter Setup Standard Options - AI=EMPS_.2 ;********************************* [EMEPS] ; EPS ONLY MODE ~Default Mode=Standard Options - EPS ~Mode=Standard Options - EPS ~Header=EPS Output Filter Setup Standard Options - EPS=EMPS_.4 ;********************************* [Standard Options] DefaultFileSpec=\ota\new_data\*.eps Driver=EMPS_.4 Font[001]="Helvetica", "Swiss:Helvetica" Font[002]="Helvetica-Bold", "Swiss:Helvetica Bold" Font[003]="Helvetica-Oblique", "Swiss:Helvetica Oblique" Font[004]="Helvetica-BoldOblique", "Swiss:Helvetica Bold Oblique" Font[005]="Times-Roman", "Roman:Times" Font[006]="Times-Bold", "Roman:Times Bold" Font[007]="Times-Italic", "Roman:Times Italic" Font[008]="Times-BoldItalic", "Roman:Times Bold Italic" Font[009]="Courier", "Modern:Courier" Font[010]="Courier-Bold", "Modern:Courier Bold" Font[011]="Courier-Oblique", "Modern:Courier Oblique" Font[012]="Courier-BoldOblique", "Modern:Courier Bold Oblique" Font[013]="Symbol", "Symbol:Symbol" Background Rect=1 Color Mode=103 Line Cap=134 Include Preview=0 Bitmap Mode=215 Color Printer=0 AI=3 Create PS Raster Files=TRUE Hide AI Selection=FALSE Band Raster Data=FALSE Compression Mode=224 Resolution Mode=307 X Resolution=72 Y Resolution=72 [Standard Options - AI] DefaultFileSpec=\ota\new_data\*.eps Driver=EMPS_.2 Font[001]="Helvetica", "Swiss:Helvetica" Font[002]="Helvetica-Bold", "Swiss:Helvetica Bold" Font[003]="Helvetica-Oblique", "Swiss:Helvetica Oblique" Font[004]="Helvetica-BoldOblique", "Swiss:Helvetica Bold Oblique" Font[005]="Times-Roman", "Roman:Times" Font[006]="Times-Bold", "Roman:Times Bold" Font[007]="Times-Italic", "Roman:Times Italic" Font[008]="Times-BoldItalic", "Roman:Times Bold Italic" Font[009]="Courier", "Modern:Courier" Font[010]="Courier-Bold", "Modern:Courier Bold" Font[011]="Courier-Oblique", "Modern:Courier Oblique" Font[012]="Courier-BoldOblique", "Modern:Courier Bold Oblique" Font[013]="Symbol", "Symbol:Symbol" Background Rect=0 Color Mode=103 Line Cap=134 Include Preview=1 Bitmap Mode=215 Color Printer=0 AI=3 Create PS Raster Files=TRUE Hide AI Selection=FALSE Band Raster Data=FALSE Compression Mode=224 Resolution Mode=310 X Resolution=72 Y Resolution=72 [Standard Options - EPS] DefaultFileSpec=\ota\new_data\*.eps Driver=EMPS_.4 Font[001]="Helvetica", "Swiss:Helvetica" Font[002]="Helvetica-Bold", "Swiss:Helvetica Bold" Font[003]="Helvetica-Oblique", "Swiss:Helvetica Oblique" Font[004]="Helvetica-BoldOblique", "Swiss:Helvetica Bold Oblique" Font[005]="Times-Roman", "Roman:Times" Font[006]="Times-Bold", "Roman:Times Bold" Font[007]="Times-Italic", "Roman:Times Italic" Font[008]="Times-BoldItalic", "Roman:Times Bold Italic" Font[009]="Courier", "Modern:Courier" Font[010]="Courier-Bold", "Modern:Courier Bold" Font[011]="Courier-Oblique", "Modern:Courier Oblique" Font[012]="Courier-BoldOblique", "Modern:Courier Bold Oblique" Font[013]="Symbol", "Symbol:Symbol" Background Rect=0 Color Mode=103 Line Cap=134 Include Preview=1 Bitmap Mode=215 Color Printer=0 AI=3 Create PS Raster Files=TRUE Hide AI Selection=FALSE Band Raster Data=FALSE Compression Mode=224 Resolution Mode=310 X Resolution=72 Y Resolution=72 Origin 6.0/emwmf2.flt Origin 6.0/emwmf2.ini[EMWMF] ~Default Mode=Standard Metafile ~Mode=Standard Metafile ~Header=WMF Output Filter Setup Standard Options (Placeable Metafile)=EMWMF.2 Standard Metafile=EMWMF.1 Enhanced Metafile=EMWMF.7 Hidden Line Hidden Surface Removal=EMWMF.5 [Standard Options (Placeable Metafile)] DefaultFileSpec=\ota\new_data\*.wmf Driver=EMWMF.2 ColorTableSource=FILE Text Mode=115 Line Mode=120 Fill Mode=123 Background Rect=1 Color Mode=103 Gradients= [Standard Metafile] DefaultFileSpec=\ota\new_data\*.wmf Driver=EMWMF.1 ColorTableSource=FILE Text Mode=115 Line Mode=119 Fill Mode=122 Background Rect=1 Color Mode=103 Gradients= [Enhanced Metafile] DefaultFileSpec=\ota\new_data\*.wmf Driver=EMWMF.7 ColorTableSource=FILE Text Mode=115 Line Mode=119 Fill Mode=122 Background Rect=1 Color Mode=103 [Hidden Line Hidden Surface Removal] DefaultFileSpec=\ota\new_data\*.wmf Driver=EMWMF.5 ColorTableSource=FILE Text Mode=116 Line Mode=120 Fill Mode=123 Background Rect=0 Color Mode=103 Origin 6.0/ENLARGED.OTP Origin 6.0/ERRBAR.OTP Origin 6.0/EXCEL.OTW Origin 6.0/FENCES.TTF Origin 6.0/FFT.OGO Origin 6.0/FFT.OTW Origin 6.0/FFTPLOT.OTP Origin 6.0/FFTPOWER.OTP Origin 6.0/FFTTOOL.OGS// Purpose: Modularized Code for adding and arranging layers [MenuInit] if(exist(%H)==2) { if(run.section(,WksInit)==0) { hw=dialog.domodal(Tools,FFTTool); return 0; } } if(exist(%H)==3) { if(run.section(,GraphInit)==0) { dialog.domodal(Tools,FFTTool); return 0; } } [WksInit] FFT.reset(); fftdt=1.0; if(wks.iscolsel()<1||wks.iscolsel()>3) { type -b $FFT.SelcRang; return 1; } loop(ii,0,wks.iscolsel()-1) { colnum=wks.c1+%(%H,@O,ii); coltype=wks.col$(colnum).type; if(coltype==2||coltype==3||coltype==5||coltype==6||coltype==7) { type -b $FFT.SelcRang; return 1; } } switch (wks.iscolsel()) { case 1: if(wks.col$(wks.c1).type==4) { type -b $FFT.SelcRang; //If selected column is X, type Error message return 1; } else { %M=%(%H,wks.c1); run.section(,FFTSearchForX); %N=""; //Set imaginary to null FFT.real=1; } break; case 2: if(wks.col$(wks.c1).type==4 && wks.col$(wks.c1+%(%H,@O,1)).type==4) { type -b $FFT.SelcRang; //If both columns are X, type Error message return 1; } if(wks.col$(wks.c1).type==1) { %M=%(%H,wks.c1); //Set first column to real if(wks.col$(wks.c1+%(%H,@O,1)).type==1) { %N=%(%H,wks.c1+%(%H,@O,1)); //If second colum is Y, set it to imaginary fft.real=0; run.section(,FFTSearchForX); } else { %O=%(%H,wks.c1+%(%H,@O,1)); //If second colum is X, set it to time %N=""; //Set imaginary to null fft.real=1; } } else { %O=%(%H,wks.c1); //First column selected is X and set to Time %M=%(%H,wks.c1+%(%H,@O,1)); //Second column selected is Y and set to Real %N=""; //Set imaginary to null fft.real=1; } break; case 3: NumX=0; for(ii=0;ii<3;ii++) { if(wks.col$(wks.c1+%(%H,@O,ii)).type==4) NumX++; } if(NumX!=1) { type -b $FFT.SelcRang; return 1; } //Search for the X column if(wks.col$(wks.c1).type==4) { %O=%(%H,wks.c1); //First column selected is X and set to Time %M=%(%H,wks.c1+%(%H,@O,1)); //Second column selected is Y and set to Real %N=%(%H,wks.c1+%(%H,@O,2)); //Third column selected is Y and set to Imaginary } if(wks.col$(wks.c1+%(%H,@O,1)).type==4) { %O=%(%H,wks.c1+%(%H,@O,1)); //Second column selected is X and set to Time %M=%(%H,wks.c1); //First column selected is Y and set to Real %N=%(%H,wks.c1+%(%H,@O,2)); //Third column selected is Y and set to Imaginary } if(wks.col$(wks.c1+%(%H,@O,2)).type==4) { %O=%(%H,wks.c1+%(%H,@O,2)); //Third column selected is X and set to Time %M=%(%H,wks.c1); //First column selected is Y and set to Imaginary %N=%(%H,wks.c1+%(%H,@O,1)); //Second column selected is Y and set to Real } FFT.real=0; break; } delete -v colnum; delete -v coltype; delete -v NumX; run.section(,FFTdatasets); run.section(,FFTCheckres); [GraphInit] fft.reset(); fft.forward.Realdata$ = %C; %O = xof(%C); if(%[%O,'_']=="") { %O=""; get %C -i fftdt; fft.forward.tdelta=fftdt; } fft.forward.timedata$ = %O; fft.forward=1; fft.real=1; if(fft.chkres()) type -b $FFT.badResolution; i1=fft.chkres.i1; i2=fft.chkres.i2; return 0; [Tab.Operation.Init] FFTTool!Tab.Operation.Forward.choice=1; FFTTool!Tab.Operation.Amplitude.choice=1; [Tab.Settings.Init] if(exist(%H)==2) { FFTTool!Tab.Settings.Sampling$=%O; FFTTool!Tab.Settings.Real$=%M; FFTTool!Tab.Settings.Imaginary$=%N; if( %O != "") { FFTTool!Tab.Settings.SampInt.v1=FFT.forward.tdelta; } else { FFTTool!Tab.Settings.SampInt.v1=fftdt; } return 0; } if(exist(%H)==3) { FFTTool!Tab.Settings.Sampling$=%O; FFTTool!Tab.Settings.Real$=%C; FFTTool!Tab.Settings.Imaginary$=""; FFTTool!Tab.Settings.SampInt.v1=fft.forward.tdelta; FFTTool!Tab.Settings.WinMethod.choice=fft.windowing; FFTTool!Tab.Settings.NormAmp=fft.normalize; FFTTool!Tab.Settings.Shift=fft.shifted; FFTTool!Tab.Settings.Unwrap=fft.unwrap; } [FFTSearchForX] if hasx(%(%H,wks.c1)) %O=xof(%(%H,Wks.c1)); else { %O=""; get %(%H,Wks.c1) -i fftdt; } [FFTdatasets] fft.forward.timedata$=%O; fft.forward.realdata$=%M; fft.forward.imagdata$=%N; [FFTCheckres] if(fft.chkres()) type -b $FFT.badResolution; i1=fft.chkres.i1; i2=fft.chkres.i2; [Tab.Operation.OK.clicked] run.section(,FFTsetting); switch(FFTTool!Tab.Operation.Forward.choice) { case 1: FFT.forward =1; run.section(,FFTforward); break; case 2: FFT.forward=0; run.section(,FFTBackward); break; }; run.section(,FFTplotting); run.section(,FFTreportSize); run.section(,FFTcleanUp); dialog.close(tools,ffttool); [Tab.Operation.Cancel.clicked] dialog.close(tools,ffttool); [FFTsetting] fft.windowing=FFTTool!Tab.Settings.WinMethod.choice; fft.normalize=FFTTool!Tab.Settings.NormAmp; fft.shifted=FFTTool!Tab.Settings.Shift; fft.unwrap=FFTTool!Tab.Settings.Unwrap; fft.convention=FFTTool!Tab.Settings.PhaseFact.choice-1; //fft.convention=0 for EE as in Origin 5.0 and 1 for Science return 0; ////////////////////////////////////////////////////////////////////// // // Forward FFT // /////////////////////////////////////////////////////////////////////// [FFTForward] FFT.forward.tdelta = FFTTool!Tab.Settings.SampInt.v1; fft.forward.timedata$=FFTTool!Tab.Settings.Sampling$; fft.forward.realdata$=FFTTool!Tab.Settings.Real$; fft.forward.imagdata$=FFTTool!Tab.Settings.Imaginary$; if( %O != "") { if(FFT.forward.tdelta==0.0) { type -b $fft.zerosample; return; } } GetEnumWks FFT; %W=%H; fft.output.samplingdata$=%H_freq; run.section(,FFToutputDataset); fft.forward(i1,i2); switch(FFTTool!Tab.Operation.Amplitude.choice) { case 1: GetEnumWin FFTPlot; break; case 2: GetEnumWin FFTPower; break; }; [FFToutputDataset] fft.output.Realdata$=%H_real; fft.output.Imagdata$=%H_imag; fft.output.ampdata$=%H_r; fft.output.phasedata$=%H_phi; fft.output.powerdata$=%H_power; ////////////////////////////////////////////////////////////////////// // // Backward FFT // /////////////////////////////////////////////////////////////////////// [FFTBackward] fft.forward.tdelta=1.0; fft.forward.timedata$=""; fft.forward.realdata$=""; fft.forward.imagdata$=""; fft.backward.fdelta = FFTTool!Tab.Settings.SampInt.v1; fft.backward.freqdata$=FFTTool!Tab.Settings.Sampling$; fft.backward.realdata$=FFTTool!Tab.Settings.Real$; fft.backward.imagdata$=FFTTool!Tab.Settings.Imaginary$; if( %O != "") { if(FFT.backward.fdelta==0.0) { type -b $fft.zerosample; return; } } /* Get Enum Named Wks */ getenumwks IFFT; %W=%H; fft.output.samplingdata$=%H_time; run.section(,FFToutputDataset); fft.backward(i1,i2); switch(FFTTool!Tab.Operation.Amplitude.choice) { case 1: GetEnumWin IFFTPlot; break; case 2: GetEnumWin IFFTPowe; break; }; [FFTplotting] layer -s 1; /* use global variable FixedFrom */ FixedFrom=0; if( (fft.real) || (fft.shifted==0) ) FixedFrom=1; layer -s 2;layer -i200 %(%W,5); switch(FFTTool!Tab.Operation.Amplitude.choice) { case 1: layer -s 1;layer -i200 %(%W,4); break; case 2: layer -s 1;layer -i200 %(%W,6); break; }; /* CPY v3.73 set rescale type depending on real or complex */ //TC commented folowing block /* doc -e -lw { if (FixedFrom) { layer.x.rescale=4; X1=0; layer -a; } else { layer.x.rescale=2; layer -a; } }; */ //TC: the two X-axes are linked if (FixedFrom) { layer.x.rescale=4; X1=0; } else { layer.x.rescale=2; } layer -s 1; layer -a; layer -s 2; layer -a; return 0; [FFTreportSize] SaveRedirection=type.Redirection(16,3); // SDB 1/7/99 v6.0148 REPORT_TO_OUTPUTLOG type.BeginResults(); /// RKM 12/10/98 v6.0141 REPORT_TO_OUTPUTLOG type $Wksanaly.ReportSize; type.EndResults(); type.Redirection=SaveRedirection; // restore previous redirection. delete -v SaveRedirection; [FFTcleanUp] dialog.close(ffttool); del -v %M; del -v %N; del -v %O; del -v %W; del -v FixedFrom; del -v i1; del -v i2; del -v interval; return 0; //end NEW_FFT Origin 6.0/FFTTOOL.OPS[VERSION] Version=1.000000 [Tab.Operation.PREPARE] Tab.Operation.Forward.KIND$=RADIOBUTTON; Tab.Operation.Backward.KIND$=RADIOBUTTON; Tab.Operation.Amplitude.KIND$=RADIOBUTTON; Tab.Operation.Power.KIND$=RADIOBUTTON; Tab.Operation.Cancel.KIND$=BUTTON; Tab.Operation.OK.KIND$=BUTTON; Tab.Operation.Forward.V1$=Forward; Tab.Operation.Forward.V2$=Backward; Tab.Operation.Forward.SHOW=1; Tab.Operation.Forward.ENABLE=1; Tab.Operation.Forward=1; Tab.Operation.Forward$=""; Tab.Operation.Backward.V1$=Backward; Tab.Operation.Backward.SHOW=1; Tab.Operation.Backward.ENABLE=1; Tab.Operation.Backward=0; Tab.Operation.Backward$=""; Tab.Operation.Amplitude.V1$=Amplitude; Tab.Operation.Amplitude.V2$=Power; Tab.Operation.Amplitude.SHOW=1; Tab.Operation.Amplitude.ENABLE=1; Tab.Operation.Amplitude=1; Tab.Operation.Amplitude$=""; Tab.Operation.Power.V1$=Power; Tab.Operation.Power.SHOW=1; Tab.Operation.Power.ENABLE=1; Tab.Operation.Power=0; Tab.Operation.Power$=""; Tab.Operation.Cancel.SHOW=1; Tab.Operation.Cancel.ENABLE=1; Tab.Operation.Cancel$=Cancel; Tab.Operation.OK.SHOW=1; Tab.Operation.OK.ENABLE=1; Tab.Operation.OK$=OK; [Tab.Settings.PREPARE] Tab.Settings.Sampling.KIND$=EDITBOX; Tab.Settings.Real.KIND$=EDITBOX; Tab.Settings.Imaginary.KIND$=EDITBOX; Tab.Settings.SampInt.KIND$=EDITBOX; Tab.Settings.WinMethod.KIND$=RADIOBUTTON; Tab.Settings.Welch.KIND$=RADIOBUTTON; Tab.Settings.Hanning.KIND$=RADIOBUTTON; Tab.Settings.Hamming.KIND$=RADIOBUTTON; Tab.Settings.Blackman.KIND$=RADIOBUTTON; Tab.Settings.NormAmp.KIND$=CHECKBOX; Tab.Settings.Shift.KIND$=CHECKBOX; Tab.Settings.Unwrap.KIND$=CHECKBOX; Tab.Settings.PhaseFact.KIND$=RADIOBUTTON; Tab.Settings.Science.KIND$=RADIOBUTTON; Tab.Settings.Sampling.SHOW=1; Tab.Settings.Sampling.ENABLE=1; Tab.Settings.Sampling$=Data1_A; Tab.Settings.Real.SHOW=1; Tab.Settings.Real.ENABLE=1; Tab.Settings.Real$=Data1_B; Tab.Settings.Imaginary.SHOW=1; Tab.Settings.Imaginary.ENABLE=1; Tab.Settings.Imaginary$=""; Tab.Settings.SampInt.SHOW=1; Tab.Settings.SampInt.ENABLE=1; Tab.Settings.SampInt$=1; Tab.Settings.WinMethod.V1$=Rectangular; Tab.Settings.WinMethod.V2$=Welch; Tab.Settings.WinMethod.V3$=Hanning; Tab.Settings.WinMethod.V4$=Hamming; Tab.Settings.WinMethod.V5$=Blackman; Tab.Settings.WinMethod.SHOW=1; Tab.Settings.WinMethod.ENABLE=1; Tab.Settings.WinMethod=0; Tab.Settings.WinMethod$=""; Tab.Settings.Welch.V1$=Welch; Tab.Settings.Welch.V2$=Hanning; Tab.Settings.Welch.V3$=Hamming; Tab.Settings.Welch.V4$=Blackman; Tab.Settings.Welch.SHOW=1; Tab.Settings.Welch.ENABLE=1; Tab.Settings.Welch=0; Tab.Settings.Welch$=""; Tab.Settings.Hanning.V1$=Hanning; Tab.Settings.Hanning.V2$=Hamming; Tab.Settings.Hanning.V3$=Blackman; Tab.Settings.Hanning.SHOW=1; Tab.Settings.Hanning.ENABLE=1; Tab.Settings.Hanning=0; Tab.Settings.Hanning$=""; Tab.Settings.Hamming.V1$=Hamming; Tab.Settings.Hamming.V2$=Blackman; Tab.Settings.Hamming.SHOW=1; Tab.Settings.Hamming.ENABLE=1; Tab.Settings.Hamming=0; Tab.Settings.Hamming$=""; Tab.Settings.Blackman.V1$=Blackman; Tab.Settings.Blackman.SHOW=1; Tab.Settings.Blackman.ENABLE=1; Tab.Settings.Blackman=0; Tab.Settings.Blackman$=""; Tab.Settings.NormAmp.SHOW=1; Tab.Settings.NormAmp.ENABLE=1; Tab.Settings.NormAmp=0; Tab.Settings.NormAmp$=Normalize Amplitude; Tab.Settings.Shift.SHOW=1; Tab.Settings.Shift.ENABLE=1; Tab.Settings.Shift=0; Tab.Settings.Shift$=Shift Results; Tab.Settings.Unwrap.SHOW=1; Tab.Settings.Unwrap.ENABLE=1; Tab.Settings.Unwrap=0; Tab.Settings.Unwrap$=Unwrap Phase; Tab.Settings.PhaseFact.V1$=-1 (Electrical Engineering); Tab.Settings.PhaseFact.V2$=+1 (Science); Tab.Settings.PhaseFact.SHOW=1; Tab.Settings.PhaseFact.ENABLE=1; Tab.Settings.PhaseFact=0; Tab.Settings.PhaseFact$=""; Tab.Settings.Science.V1$=+1 (Science); Tab.Settings.Science.SHOW=1; Tab.Settings.Science.ENABLE=1; Tab.Settings.Science=0; Tab.Settings.Science$=""; [Tab.Settings.SET] Tab.Settings.WinMethod=1; Tab.Settings.NormAmp=1; Tab.Settings.Shift=1; Tab.Settings.Unwrap=1; Tab.Settings.PhaseFact=1; Origin 6.0/FFT_MAIN.OGO Origin 6.0/FGROUP.OCS Origin 6.0/FGROUP.OQS Origin 6.0/FILE.OGS//********************************************** // Filename: FILE.OGS // Creation: 8/16/95 by CP // Purpose: File menu scripts //********************************************** // Modification Log: // 10/10/95 JMP Set comment box ON for FILE:OPEN and FILE:SAVE AS // 10/10/95 JMP Set comment box OFF for FILE:TEMPLATE:SAVE AS // 10/12/95 JMP Add script for FILE:TEMPLATE:OPEN Worksheet/Plot/Matrix // 10/12/95 JMP Replace script for FILE:IMPORT:ASCII to use FDLOG properties // 10/24/95 JMP Add section for Windows MetaFile // 10/24/95 JMP Use FDLOG methods and properties to explicitly control dialog boxes // DSB v3.85 11/8/95 SAVE_MATRIX Add open matrix window option NOT ACTUALLY DONE YET // QZCao, v3.98, 12/26/95, OLE_SUPPORT, Support ole // CPY v4.00 1/25/96 LONG_FILENAMES, add quotes to %A // 03/05/96 JMP CHECK_MULTICELL_SELECTION ASCII export enables SELECTION only when wks.sel>1 // CPY v4.11 b759 ENABLE_SAVE_MATRIX, remove marks on SAVE_MATRIX and enable David's change // ML v4.11 7/15/96 B1051 GET_FILE_NAME // JMP V4.11 7/18/96 EXCEL32DBASE32 // RKM v4.18 7/26/96 commented out saving as 2.8 // RKM for v5.0 added Close and Exit sections // 11 Oct '96 grd Added binary import section // 11/18/96 CPY Add Excel Open option // 11/25/96 JMP v4.13 added ImportOptions, ImportASCIIOptions, LastImport sections // JLIU v4.14 12/6/96 INIT_OPTION_PROPERTY // CPY 12/16/96 SCRIPT_ACCESS_EXCEL_OLE // HYYU 1/124/97 CHANGE_ODBCDLL_NAME // RKM 2/4/97 v4.161 ORG_PROF_MENUS, add menus specific to Origin Professional // ML 2/19/97 SET_CORRECT_PATH_FROM_PAGE // JMP v4.95 02/28/97 Use_Option_Path // JMP v4.961 03/04/97 Use_New_MultiOpen_Dialog // JMP v4.962 03/05/97 SETDEFAULT_SETS_PATH_AND_DEFAULT // HYYU v4.962 4/8/97 CONSIDER_CANCEL_FOR_ODBC // JMP v4.978 4/25/97 USE_TRACKING_OF SINGLE EXTENSION TYPES // JMP v4.978 4/27/97 SYSTEM.EXCEL( ) // HYYU v4.988 5/29/97 ODBC messabe // JMP v4.9983 7/01/97 EXPORT_LABELS Export labels independently of CSV // JMP v4.9984 7/02/97 READ_ONLY_OPEN Use Read only property to open as read only // HYYU v4.9985 7/9/97 t2646 KEEP_COLUMN_SPECIFICATIONS_FOR_ODBC_INPUT // EJP v5.003 08-01-97 UPDATE_APP_DATA_PATH // DVT v6.011 t3643 4/7/98 ODBC_IMPORT_SQL // RKM v6.045 1/4/99 MULTI_IMPORT_WKS // CPY v6.0252 t6746 1/26/00 MULTI_OPEN_SUPPORT_BY_ROW_AND_BY_COL_APPEND //********************************************** // Rules: For using FDLOG.OPEN( ) do not specify path beforehand, it will be handled automatically // If path is specified beforehand, then the automatic path is ignored // // For using FDLOG.SAVE( ) be sure to set default filename using .Default$ or .SetDefault(StringVar) /////////////////////////////////////////////////// [Init] FDLOG.DlgName$=""; FDLOG.OptionDLG$=""; //Reset button to off FDLOG.checkname$=""; //Reset check box to null FDLOG.ShowComment=0; //close the comments box FDLOG.CheckStatus=0; //Set checkbox to off FDLOG.default$=""; //Set contents of "File Name" edit box to nothing //------------------- CPY v6.0252 t6746 1/26/00 MULTI_OPEN_SUPPORT_BY_ROW_AND_BY_COL_APPEND FDLOG.MultiOpen.ComboName$=""; if(FDLOG.MultiOpen.ComboSel<1 || FDLOG.MultiOpen.ComboSel>3) FDLOG.MultiOpen.ComboSel = 2;// import into new columns //------------------- end t6746 return 0; /////////////////////////////////////////////////// [Open] run.section(,Init); //QZCao, v3.98, 12/26/95, OLE_SUPPORT, Support ole if(page.oleAskUpdate(Open)==1) return 0; FDLOG.UseGroup(Origin); FDLOG.ShowComment=1; // open the comments box if(FDLOG.Open(A)) return 1; %B=FDLOG.path$; switch(FDLOG.DefType) { case 1 to 2: //JMP v4.9984 7/02/97 READ_ONLY_OPEN if (FDLOG.AsReadOnly) doc -oR %B%A; else doc -open %B%A; break; case 7: ed.open(%B%A); break; default: doc -Append %B%A; } return 0; /////////////////////////////////////////////////// [OpenExcel] run.section(,Init); FDLOG.UseGroup(Excel); //QZCao, v3.98, 12/26/95, OLE_SUPPORT, Support ole if(page.oleAskUpdate(Open)==1) return 0; if(FDLOG.Open(A)) return 1; %B=FDLOG.path$; //JMP v4.9984 7/02/97 READ_ONLY_OPEN if (FDLOG.AsReadOnly) doc -aR %B%A; else doc -append %B%A; return 0; /////////////////////////////////////////////////// [AppendProject] run.section(,Init); FDLOG.UseGroup(Origin); FDLOG.UseType("OPJ ORG"); FDLOG.ShowComment=1; // open the comments box if(FDLOG.Open(A)) return 1; %B=FDLOG.path$; doc -Append %B%A; return 0; /////////////////////////////////////////////////// [SaveProject] if(doc.isNew) run.section(,SaveProjectAs); else { //JMP v4.978 4/27/97 SYSTEM.EXCEL( ) if (system.excel.SaveAsExcel==1 && system.excel()==0) return; save; } return 0; /////////////////////////////////////////////////// [SaveProjectAs] //JMP v4.978 4/27/97 SYSTEM.EXCEL( ) if ((system.excel.SaveAsExcel==1 || system.excel.SaveAsExcel==2) && system.excel()==0) return 1; run.section(,Init); //QZCao, v3.98, 12/26/95, OLE_SUPPORT, Support ole if(page.oleAskUpdate(SaveAs)) return 0; FDLOG.default$=%G; ///CPY 12/16/96 SCRIPT_ACCESS_EXCEL_OLE FDLOG.UseGroup(Origin); if(doc.OleInfo) /// for OLE embedding or linking { FDLOG.UseType("OGG") } else { FDLOG.UseType("OPJ ORG"); } FDLOG.ShowComment=1; // open the comments box if(%X!="") FDLOG.path$=%X; if(FDLOG.SaveAs(A)) return 1; %B=fdlog.path$; //QZCao, v3.98, 12/26/95, OLE_SUPPORT, Support ole page.oleUpdate(SaveAs); if(FDLOG.DefType==2) save -DI3 "%B%A"; else save -DI1 "%B%A"; /// return 0; /////////////////////////////////////////////////// [Close] document -new Untitled; /////////////////////////////////////////////////////// ///QZCao, v3.98, 12/26/95, OLE_SUPPORT, Support ole [OleUpdateEmbedded] page.oleaskupdate(Update); /////////////////////////////////////////////////////// [GetWinType] // set %A to template name // set %B to Window template extension // set i to win type /// RB 5/24/99 t6477 6.0205 PUT_TEMPLATE_FILE_EXTENSION_TO_GLOBAL_STRING_%B win -GE; // set %A and %B i=exist(%H,10); return 0; [SaveTemplate] run.section(,GetWinType); // update %B ///JMP v4.95 02/28/97 Use_Option_Path type -v -c [Save %H as %A.%B?]; save -T %H %A; return 0; [SaveAsTemplate] run.section(,Init); run.section(,GetWinType); // update %B win -G; // set %A FDLOG.UseGroup(Template); switch(i) { case 2: FDLOG.UseType("OTW"); break; case 3: FDLOG.UseType("OTP"); break; case 5: FDLOG.UseType("OTM"); break; default: return 1; }; FDLOG.Default$=%A; if(FDLOG.SaveAs(A)) return 1; %B=FDLOG.path$; save -T %H %B%A; return 0; [OpenAnyTemplate] FDLOG.UseGroup(Template); run.section(,OpenTemplate); [OpenTemplate] run.section(,Init); if(FDLOG.Open(A)) return 1; %B=FDLOG.path$; doc -t %B%A; return 0; /////////////////////////////////////////////////// [SaveWindow] run.section(,Init); i=exist(%H,10); switch(i) { case 2: ///CPY 12/16/96 SCRIPT_ACCESS_EXCEL_OLE //FDLOG.Type1$=$DialogBox.SaveWksWindow; if(page.ExtInfo) FDLOG.UseGroup(Excel); else { FDLOG.UseGroup(Origin); FDLOG.UseType("OGW"); } break; case 3: FDLOG.UseGroup(Origin); FDLOG.UseType("OGG"); break; case 5: FDLOG.UseGroup(Origin); FDLOG.UseType("OGM"); break; default: return 1; }; %A=page.filepath$; if ("%A"!="") FDLOG.path$="%A"; %B=page.filename$; if ("%B"=="") %B=%H; //Use window name when no file name FDLOG.default$="%B"; if(FDLOG.SaveAs(A)) return 1; %B=FDLOG.Path$; save -i %B%A; // save independent window return 0; ///////////////////////////////////////////////////////// [ImportOptions] worksheet -edit Import; ////////////////////////////////////////////////////////// [ImportASCIIOptions] run.section(,Init); worksheet -edit Ascii; // ML v3.821 8/22/95 // this was taken from 3.7842: if (i==1) { FDLOG.UseGroup(Ascii); FDLOG.DlgName$=$DialogBox.ImportTitle; if(FDLOG.Open(A)) return 1; %B=fdlog.path$; open -W %B%A; } else type -b $general.TemplSaved; return 0; ///////////////////////////////////////////////////////// [SingleImport] run.section(,ImportAscii); //////////////////////////////////////////////////////// /// RKM: Multi Import for Wks MULTI_IMPORT_WKS //////////////////////////////////////////////////////// [MultiImportWKS] run.section(,Init); if(FDLOG.multiopen.sort==0) { //---------- CPY v6.0252 t6746 1/26/00 MULTI_OPEN_SUPPORT_BY_ROW_AND_BY_COL_APPEND // we are going to use combo, so if(FDLOG.MultiOpen.ComboSel==1) FDLOG.multiopen.colview=14;// Filename, template, size, modied else FDLOG.multiopen.colview=12; //By default, display Filename, Size and Modified //---------- end t6746 } else FDLOG.multiopen.colview=0; //Only display Filename FDLOG.UseGroup(Ascii); FDLOG.Message$=""; FDLOG.MultiOpen.ComboName$=$File.WKSImportAsComboTitle; FDLOG.MultiOpen.ComboList$=$File.WKSImportAsComboList; FDLOG.MultiOpen.ColToggle=2; //Enable the Template column toggling with the checkbox if (FDLOG.multiopen()==0/0) return 1; // still need to wait for Irene to fix the index problem, right now it is 0,1,2, so later need to change this FDLOG.CheckStatus = FDLOG.MultiOpen.ComboSel==1?0:1;
Compartilhar