You can verify that the HDF5 extension and the HDF5 Browser procedureįile were loaded by choosing Data→Load Waves→New HDF5 Browser. Proce- dure the next time Igor is launched and to keep it open Procedures/File Input Output/HDF5 Browser.ipf" and put it in "Igor Make an alias/shortcut for "Igor Pro Folder/WaveMetrics The help file to be automatically opened. This causes Igor to automatically open the help file the Loaders/HDF5 Help.ihf" and put it in "Igor Pro User Files/Igor Helpįiles". This causes Igor to load the extension the next time Loaders/HDF5.xop" and put it in "Igor Pro User Files/IgorĮxtensions". Make an alias/shortcut for "Igor Pro Folder/More Extensions/File This displays the Igor Pro Folder and the Igor Pro User Press the shift key and choose Help→Show Igor Pro Folder and Userįiles. Here is how you would activate these files: He HDF5 file loader package consists of an extension named "HDF5.xop", a help file named "HDF5 Help.ihf" and a procedure file named "HDF5 Browser.ipf". Require HDF5 module (comment out ExportHDF5 if not desired). To compute the normed vector, a Fortran-esque solution is to define the array outside of the function definition and to pass the reference so that its values are overwritten: An Igor Pro function serves as both function and subroutine (in Fortran parlance) side effects in functions are not discouraged as in most other languages but used as a necessary tool for computation. I cannot speak to the efficiency of this approach of creating temporary data folders within each function, but computationally expensive operations will hopefully be handled by an XOP (external operating procedure, e.g., a C program) in any case.Ĭomputing on waves with functions. Without using such a data folder, any waves created within the function can conflict with an existing wave (in the global scope), and temporary waves will have to be killed explicitly with killwaves/z waveseq. killdatafolder : kills all waves created in local data folder. Newdatafolder/s local creates a new data folder (can be any name as long as it does not already exist in the current scope/data folder) and immediately sets this context as the new working scope. Make/n=(numpnts(waveref)) wavesq = waveref^2 Wave waveref // this is just a reference to the wave Local function environments can be implemented using data folders as shown in the following example we define a function to calculate the two-norm distance of a vector. In a procedure window, use #include "stlib" statement to use functions from the library. On a Mac, can set ln -s stlib.ipf "~/Documents/WaveMetrics/Igor Pro 6 User Files/" (included in setup.sh which also handles linking of HDF5 libraries) on Windows this can also be handled through a shortcut. ~/Documents/WaveMetrics/Igor Pro 6 User Files/ (Mac), or C:/Documents and Settings/username/My Documents/WaveMetrics/Igor Pro 6 User Files/ (Windows) to have these functions available for every Igor program. The ipf file(s) in this project can be included in
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |