+ All Categories
Home > Documents > WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large...

WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large...

Date post: 28-May-2020
Category:
Upload: others
View: 9 times
Download: 0 times
Share this document with a friend
32
WiO Workshop 01.28.2016 Presenter: Kelsey Miller
Transcript
Page 1: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop 01.28.2016

Presenter:KelseyMiller

Page 2: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

MATrixLABoratory

§ Mul/-paradigm,numericalcompu/ngenvironment

§  4thgenprogramminglanguage§  Allowsmatrixmanipula/on,func/onanddataplo@ng,algorithmimplementa/on,userinterfacecrea/on,andinterfacingwithotherlanguagesincluding3rdgenlanguages:C,C++,Java,FortranandPython

MATLAB

WiOWorkshop01.28.2016

Page 3: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

Inlayman’sterms:§  Powerful,user-friendlytoolfordataanalysisthatplayswellwithotherlanguages

MATLAB

WiOWorkshop01.28.2016

Page 4: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

§ LoadingdataintoMATLAB

§ Organizingdatainyourworkspace

§ Usingforloopstodealwithlargedatasets

§ Expor/ngyourdata

WiOWorkshop01.28.2016

Page 5: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ load§ importdata§ xlsread§ imread§ fitsread

Page 6: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Func/on:Loadsvariablesfromafileintotheworkspace(outputindouble)§ Syntax:loadfilenameA=load(‘filename’)A=load(‘filename’,variables)A=load(‘filename’,’-format’)A=load(‘filename’,’-format’,variables)§ Example:exampleload.m

Page 7: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Func/on:Loadsvariablesfromafileintotheworkspace.Canbeusedtoloadimagefiles(outputinuint8)andcanreadheaderinforma/oninASCIIfile

§ Syntax:(pastefromclipboard)A=importdata(‘-pastespecial’)(importfromfolder)A=importdata(‘filename’)A=importdata(‘filename’,’delimiterIn’)A=importdata(‘filename’,’delimiterIn’,’headerlinesIn’)§ Example:exampleimportdata.m

Page 8: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Func/on:ReadsMicroso]Excelspreadsheetfile(outputindouble).

§ Syntax:A=xlsread(‘filename’)A=xlsread(‘filename’,sheet)A=xlsread(‘filename’,range)A=xlsread(‘filename’,sheet,range)[data,txt,raw]=xlsread(‘filename’,sheet,range)§ Example:examplexlsread.m

Page 9: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Func/on:Readanimagefromagraphicsfile(Formatssupported:BMP,CUR,GIF,HDF4,ICO,JPEG,JPEG2000,PBM,PCX,PGM,PNG,PPM,RAS,TIFF,XWD.)(Outputtypedependsonfilebitdepth.)§ Syntax:A=imread(‘filename’)A=imread(‘filename’,‘format’)[A,map]=imread(‘filename’)(Forinforma/onaboutgraphicsfile)info=imfinfo(‘filename’)§ Example:exampleimread.m

Page 10: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Func/on:ReadsdatafromaFITSfile(FlexibleImageTransportSystem)*§ Syntax:data=fitsread(‘filename’)info=fitsinfo(‘filename’)§ Example:examplefitsread.m*hdp://www.mathworks.com/help/matlab/import_export/impor/ng-flexible-image-transport-system-fits-files.html

Page 11: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Naviga/ngthecommandwindow

§ Calling/par//oningselecteddata

§ Cellarrays§ Datacubes

Page 12: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Printworkingdirectorypwd

§ Changedirectorycddirectorynamecd..

§ Createnewdirectorymkdirdirectoryname

§ Removedirectoryrmdirdirectorynames

Page 13: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Copyfilescopyfilefilename-to-be-copiedfoldername-to-copy-to

§ Movefilesmovefilefilename-to-be-movedfoldername-to-move-to

§ ListfileslsORdirdirectoryname

§ Searchspecificfiletypels*.filetype

§ Deletefilesdeletefilename

Page 14: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

Calling/Partitioning Selected Data

WiOWorkshop01.28.2016

§ CallingspecificcolumnfrommatrixAx=A(:,columnnumber)

§ CallingspecificrowfrommatrixA

x=A(rownumber,:)§ CallspecificvaluefrommatrixA

x=A(rownumber,columnnumber)

Page 15: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ AssigningdatatonewmatrixB§ CreatematrixBB=zeros(numberofrows,numberofcolumns)

§ FillmatrixBwithdatafrommatrixAB(:,columnnumber)=A(:,columnnumber)

§ Example:example_Selec/ngData.m

Calling/Partitioning Selected Data

Page 16: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

Cell Arrays

WiOWorkshop01.28.2016

§ Createacellarraytoholdmul/plematrices,images,etc.allofvarioussizes

A=cell(numberofrows,numberofcolumns)Cancreatemul/-dimensionalarrays:A=cell(m,n,p,o,q……)

§ Fillcellarray

Assigndatatofirstcellinsimple2DarrayA{1,1}=data

§ Example:

example_CellArray.m

Page 17: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

Data Cubes

WiOWorkshop01.28.2016

§ Createa‘cube’matrixtocontainmul/pledatasetsofthesamesize.NOTE:Notlimitedto3dimensions

Createempty3DdatacubeA=zeros(y,x,z)

§ Filldatacube

Assigndatatofirstposi/onindatacubeA(:,:,1)=data

x

y

z

012345678

Page 18: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

Data Cubes

WiOWorkshop01.28.2016

§ Usefulforgroupsta/s/csandsingleimagestatsonlargenumbersofimageswhenusedinaforloop(coveredinthefollowingchapter)

§ ExampleProblem:Findingthemeanvalueandstandarddevia/onofasinglepixelacrossmul/pleimages

M=mean(DataCube(rownum,columnnum,:))S=std(DataCube(rownum,columnnum,:))§ Example:

example_DataCube.m

Page 19: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Usingforloopstoloadmul/plefiles

§ Usingforloopsindataanalysis

Page 20: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Usefultouseforloopswhenloadinglargenumberoffilesintoyourworkspace

§ Thinkaheadwhencomingupwithyourdatanamingscheme:§ Goodexample:data_1.fitsdata_2.fits…

§ Allowsforeasyimplementa/onofaforloopinbothloadingandorganizingyourdatafilesinyourworkspace

Page 21: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Samplesyntax:LoadingdataintoaDataCube

N=numberoffilestobeloadedDataCube=zeros(numrows,numcols,N)fork=1:N

filename=horzcat('file_',num2str(k),'.txt‘)DataCube(:,:,k)=load(filename)

end

Page 22: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Samplesyntax:LoadingdataintoaCellArray

N=numberoffilestobeloadedCellArray=cell(1,N)fork=1:N

filename=horzcat('file_',num2str(k),'.txt‘)CellArray{k}=load(filename)

end§ Example:

example_LoadingMul/pleFiles.m

Page 23: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Usingforloopstoiteratethroughdatacubes

§ ExampleProblem:Findingthemeanofeveryimagestoredinadatacube

N=numberoffilesindatacubeMvector=zeros(1,N)fork=1:N

Mvector(k)=mean2(DataCube(:,:,k))end§ Example:

example_DataCube.m

Page 24: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ save§ saveas§ xlswrite§ fitswrite§ Communica/ngwithZemax

Page 25: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Func/on:Savesworkspacevariablesto.matfileorASCII

§ Syntax:savefilenamesavefilenamevariablessave(‘filename’,‘variables’,’-format’)save(‘filename’,’variables’,‘-append’)§ Example:examplesave.m

Page 26: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Func/on:Savesfiguretospecificfileformat.Canbesavedas.m,FIG,JPEG,PNG,PDF,TIF,BMP,etc.(Savesfiguretoa.figfileifthefileextensionisunspecified.)

§ Syntax:(currentfigure)saveas(gcf,filename)saveas(fig,filename)saveas(fig,filename,formaWype)§ Example:examplesaveas.m

Page 27: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Func/on:WritesdatatoMicroso]Excelspreadsheetfile

§ Syntax:xlswrite(‘filename’,variable)xlswrite(‘filename’,variable,sheetnumber,range)xlswrite(‘filename’,variable,sheetnumber)xlswrite(‘filename’,variable,range)§ Example:examplexlswrite.m

Page 28: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Func/on:WritesanimagetoaFITSfile§ Syntax:fitswrite(imagedata,‘filename’)§ Example:examplefitswrite.m

Page 29: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Func/on:UsesZemax’sbuiltinDDE(DynamicDataExchange)servertocommunicatewithMATLABasaclientapplica/on.

§ CantalkbothwaysbetweenMATLABandZemax§ PushlensdatafromMATLABintotheZemaxLDE(LensDataEditor)

§ Pulldata/plotsfromZemaxintotheMATLABworkspace

§ Example:ZemaxMatlabCom.m

Page 30: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Func/onality:§ Atmosphere,SunandAstronomy§ Radiometry,Photometry,SpectralFiltering,SignalChainandProcessing

§ TransferFunc/ons:OTF,MTF,Spa/alFiltering,etc.

§ ImageProcessingandExploita/on§ InputandOutput§ Op/calModelling,AnalysisandTes/ng

§ Surveillance§ InternalZemaxCommands§ Plo@ng/Miscellaneous

Page 31: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

§ Reference:hdp://www.zemax.com/support/resource-center/knowledgebase/how-to-talk-to-zemax-from-matlabExamplesURL:wp.op/cs.arizona.edu/womeninop/cs/

Page 32: WiO Workshop 01.28...MATLAB Organizing data in your workspace Using for loops to deal with large data sets Expor/ng your data WiO Workshop 01.28.2016 WiO Workshop 01.28.2016 load importdata

WiOWorkshop01.28.2016

WorkshopsinMATLAB&PythonOfferedbySOCkMid-to-endofFebruary§ CoveringMATLABtoolboxesandpublica/onworkflow(e.g.func/onhandles,memoryalloca/on,interfacingwithLaTeX)

§ ReplacingbothMathema/caandMATLABwithPython


Recommended