#pragma rtGlobals=1 // Use modern global access method. //Upload Image from LabVIEW Function AjustaImagen() DoWindow MyGraph //V_flag is set to 1 if window exists; 0 otherwise if(V_flag == 1) KillWindow MyGraph//kill the window endif GBLoadWave/O/N=wave/T={16,80}/W=1 "D:DATA:temporalIgor.txt" Redimension/N=(640,480) wave0 //resize Image Duplicate wave0 //Duplicate the original image Display /N=MyGraph //new plot window will have name "MyGraph" AppendImage wave0 ModifyImage wave0 ctab= {*,*,Rainbow,0} SetAxis/A/R left End //--------------------------------------------------------------------------------------------------------------------------------------------------------- //creat the CalculatePanel Function OpenCalculatePanel() DoWindow/K CalculatePanel Newpanel /W=(248,115,730,626)/N=CalculatePanel // apear the panel modifypanel cbRGB=(0,39168,39168),fixedsize=1 //color of panel showtools /A setdrawlayer/K userback Setdrawenv fsize=20,fstyle=1,textrgb=(65535,65535,65535) drawtext 4,32,"Analysis of Trap" //drawpict 2,2,2,1,1 //no: 4 numbers and a picture name are needed here Tabcontrol tab0,pos={14,87},size={419,420},labelback=(32768,54528,65280),tablabel(0)="Parameters" setvariable setva0_tablabel0,pos={37,122},size={317,16},disable=0,title="Image" setvariable setva0_tab0,limits={-inf,inf,1},value=timesize setvariable setvar1_tab0,pos={37,165},size={180,16},disable=0,title="Temperature" setvariable setvar1_tab0,limits={0.1,inf,0.1},value=timesize popupmenu popup0_tab0,pos={37,210},size={93,21},disable=0,title="Units" popupmenu popup0_tab0,mode=3,popvalue="Main",value="Bin;Region;Main" popupmenu popup1_tab0,pos={150,210},size={93,21},disable=0,title="Image" popupmenu popup1_tab0,mode=2,popvalue="Absorption",value="fluorescence;Absorption" PopupMenu SetROI,pos={330,210},size={70,20},proc=SetROI,title="ROI" PopupMenu SetROI,mode=3,bodyWidth=70,popvalue="Set ROI",value= #"\"Set ROI;Set ROI and zoom;Zoom to ROI;Unzoom\"" groupBox group0_tab0,pos={25,240},size={400,250},disable=0,title="Calculation" Button button0_tab0,pos={60,310},size={161,35},proc=ROIProc,title=" ROI" Button button1_tab0,pos={60,365},size={161,35},proc=buttonproc,title="Calculate number of atoms" Button button2_tab0,pos={250,310},size={161,35},proc=ImageProc,title=" main Image" Button button3_tab0,pos={250,365},size={161,35},proc=BiningProc,title=" Binning" //killcontrol button1 Endmacro //-------------------------------------------------------------------------------------------------------------------------------------------------------- //Calculation of the number of atoms with press the button Function ButtonProc(ctrlName) : ButtonControl String ctrlName Variable/G cont CurveFit/M=2/W=0/TBOX=(0x300) Gauss2D, wave0/D //RemoveContour fit_IMAGENUMEROATOMOS //Removes traces of the Gaussian fit Duplicate W_coef //Duplicates setting values Make/N=1/D AtomCount //Generates a variable named Number of atoms //Make/N=1/D GamaP Make/N=1/D Atomparameters0 Make/N=1/D W_coef Make/N=10/D Number End //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //Calculate the ROI Function ROIProc(ROIName) : PopupMenuControl String ROIName wave Atomparameters0 //NVAR wave0 //make/N=(640, 480) test = p*q; newimage test //make/O/N=(100, 100) ROI; newimage roi //roi = test[p+200][q+100] //Redimension/R/N=(Atomparameters0[7]-Atomparameters0[5],Atomparameters0[8]-Atomparameters0[6]) wave0 //Redimension/R/N=(400,300) wave0 Duplicate/O/R=[Atomparameters0[5],Atomparameters0[7]][Atomparameters0[6],Atomparameters0[8]] wave0,roi Display /N=ROI AppendImage roi ModifyImage roi ctab= {*,*,Rainbow,0} SetAxis/A/R left //DeletePoints 0,100, IMAGENUMEROATOMOS //DeletePoints/M=1 0,110, IMAGENUMEROATOMOS End Function ImageProc(ImageName) : PopupMenuControl String ImageName GBLoadWave/O/N=wave/T={16,80}/W=1 "D:DATA:temporalIgor.txt" Redimension/N=(640,480) wave0 end DisplayHelpTopic "ROI Panel" //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //Calculate the Binning Function BiningProc(BiningName) : PopupMenuControl String BiningName imageinterpolate/pxsz={2,2} pixelate wave0 Display /N=new AppendImage M_PixelatedImage SetAxis/A/R left ModifyImage M_PixelatedImage ctab= {*,*,Rainbow,0} end