SAGUARO Change Log ------------------ Version 1.6.6 2018/4/11 - Bug Fixes: * FIXED: Eliminate errors about Panel SizeChangeFcn on startup. * FIXED: GenDataConvert module does not load templates on Mac. * FIXED: Cancelling MapCombine leads to error next time module is run. - NOTE: * Minimum required MATLAB version is now 2016b for compatibility with new graphics system Version 1.6.5 2016/2/2 - Enhancements: * Tested under Debian Jessie * Tested under Mac OS X El Capitan * Tested under Windows 10 - Bug Fixes: * FIXED: Matlab can now start in *NIX environments. * FIXED: Matlab Kernel now searches for "TEMPLATE." files to load them properly. Version 1.6.4 2015/11/17 - Enhancements: * update startup script (SAGUARO.m) to end in same directory as started in * ZernikeTermRemoval module now accepts data in any format that can be interpreted as a list of numbers (fixed by Andrew Lowman) - Bug Fixes: * FIXED: update ZeroInput.m template to reflect latest data structure * FIXED: TrimData does not check the last two rows or columns (reported by Andrew Lowman) * FIXED: update document references in Quick Start Guide - Kernel Changes: * exit program with same MATLAB path as when started program * Force software OpenGL on Windows platforms. This call addressed a figure display issue on some PCs. Version 1.6.3 2014/09/17 - Bug Fixes: * FIXED: Macros with zero inputs are now backwards compatible with systems that do not define .property or .log field Version 1.6.2 2014/09/03 - Bug Fixes: * FIXED: MapCombine updated to work with log files - supersedes previous fix Version 1.6.1 2014/08/25 - Bug Fixes: * FIXED: MapCombine updated to work with log files Version 1.6 2014/07/24 - Bug Fixes: * FIXED: Default sizes when importing Map data from text file are flipped x,Y (reported by Nicholas Melena) * FIXED: MapRotate module has rounding irregularities at multiples of 90 degrees (reported by Alex Maldonado) * FIXED: MapMaskTool module only works with units of mm (reported by Andrew Lowman) * FIXED: AverageDatasets module has typecast errors in MATLAB 2014a - Kernel Changes: * Ability to save module log history with the data properties. This provides traceability for module usage. Version 1.5.1 2014/04/08 - Bug Fixes: * FIXED: Crash on startup when using MATLAB 2014a due to change in relative path handling Version 1.5: 2013/10/01 - Bug Fixes: * FIXED: Deleting the current user generated MATLAB errors. This is now forbidden. * FIXED: Adding a new user containing invalid characters generated MATLAB errors. This is now forbidden. * FIXED: GUI would not display single precision numbers or logical values in raw data box and in preview window. Only doubles were allowed before. Now the gui will also display logicals and numerics. - Module Changes: * Standard Modules - update StructureFunction module written by Ping Zhao (modificatios by Ping). * Moved FlipX, FlipY, and FlipZ from Conversion category into General category. * Implemented unit tests for FlipX, FlipY, FlipZ modules. * Improve MapCombine labels by prepending and appending name information * Added descriptive titles to plots in MapCombine * Add z-unit for FreqMapLogPlot * Add new module: ApplyArbitraryFunction * Add new module: AverageDatasets * Updated PSD to provide more typical units * Added details to comments on PSD, MapFFT, and FreqMapIFFT modules to explain calculation details more clearly. * these updates are result of long discussion with Ping Zhou after receiving feedback on problems with units. * Proper use of units verified by derivation based on Barrett's book and definition of PSD. * Added ability of MapRotate.m to keep the output with the same matrix size as the input * note: the entire concept of MapTrimming is duplicate functionality of another module and should be considered for removal. - Kernel Changes: * SAGUARO remembers the last selected user and starts up as this user the next time (was 'Default'). * SAGUARO fix dataset naming scheme for better handling of names which are too long. * Add string sanitization to .name header value when returned from a module * Add property display to header field * Rename Header Field to properties * Add context menu option to add or remove property information from GUI (can also be changed in modules) * Added display of image pixels. * Improved display of module list. * Added 'property' field to data description. This can be used to carry data-specific information from one module to the next. Version 1.4.3: 2012/08/08 - Bug Fixes: * FIXED: FreqMap_TukeyFilter has typo in name * FIXED: Map2Zernike error appears when choosing radius value and have rectangular map * FIXED: Multiple data sets passed into module are randomly ordered. [Now sorted by data type.] * FIXED: Windows command script does not work from directories containing spaces - Module Changes: * Map2Zernike help information expanded * Map2Zernike default values changed * MaskBadData module can be applied to mask data types - Documentation: * Quick Start Guide section on starting SAGUARO is updated * Change Guide and Quick Start Guide updated to clarify which versions they refer to * Software Requirements text file added which includes info on required toolboxes - Kernel Changes: * Modules which take zero input datasets accept 1 or 2 function input parameters. Previous versions only allowed for module of form: [OutCellArray, Outconfig]=module(Inconfig) but revision also allows for module function of the form [OutCellArray, Outconfig]=module(InCellArray,Inconfig) Version 1.4.2: 2012/06/28 - Bug Fixes: * Add Globals button does not add variables to MATLAB workspace. Note: Add Globals does not have meaning when started from Windows Command Script (.cmd) Version 1.4.1: 2012/06/26 - Bug Fixes: * FIXED: Zernike2Map generates MATLAB error messages when radius value entered * FIXED: Macro editor config parameters not updated when moving modules up/down Version 1.4: 2012/06/22 - Kernel Changes: * Directory Structure reorganized. 'UserModules' directory stores user-defined modules. * Allow user to edit header values from GUI * Allow user to edit data values from GUI * VectorMap data type renamed to LayerMap * Datasets can be loaded from command line using 'InitialData' option followed by filename. * Default directory for loading/saving data sets is last used directory (since SAGUARO start) * Default directory for import/export macros is UserModules directory - Module Changes: * Help information for several modules updated * Added TrimData module to remove empty NaN values from edges of data * GenDataConvert now displays data dimensions for default size for map and layermap datatypes * GenDataConvert now accepts pixels (px) as input unit * GenDataConvert module descriptions updated to be more descriptive of new unit names * Added template module which requires zero inputs and returns coordinates data type. * Added template module which returns same data type as input * Added template module which takes two different data types as input * Added template module which operates on unlimited number of data sets * Added template module used in video tutorial - Documentation: * Updated Quick Start Guide with revised figures * Added "SAGUARO Standard Data Types.pdf" summary of existing data types - Bug Fixes: * FIXED: FreqMapIFFT displays data to MATLAB command window * FIXED: FreqMapLogPlot always displays 1/mm as unit independent of actual units * FIXED: GenDataConvert displays wrong default values for freqmap data type * FIXED: GenDataConvert does not convert masks to 1s and NaNs as required * FIXED: GenDataConvert does not reorder units/labels for layermap and coordinates * FIXED: Layermap does not show in the preview box. First layer is now shown. * FIXED: Map2Zernike causes MATLAB error when using data with zeros for background * FIXED: Map2Zernike output size is radius instead of diameter * FIXED: MapCombine gives NaNs when dividing a map by itself * FIXED: MapContourPlot gives error about unit labeling * FIXED: MapMaskTool displays data to MATLAB command window * FIXED: MapRotate changes size of map when rotating circular maps * FIXED: MapRotate does not change X size and Y size when rotating by 90 degrees * FIXED: Macro editing module Move Up/Down changes focus to unexpected module * FIXED: PSD, FFT, and IFFT units and normalization factors. * FIXED: SAGUARO deletes all variables on shutdown. Note: figures remain after shutdown. * FIXED: UnitConvert causes MATLAB error when trying to save new custom unit Version 1.3.1: 2012/04/06 - Bug fixes: * FIXED: GenDataConvert issues related to coordinates and version numbers. * FIXED: GenDataConvert background masking with range option for maps didn't work. * FIXED: UnitConvert was not showing the correct options for non-default users. * FIXED: MapMaskTool was not using ID and OD values. Version 1.3: 2012/02/19 - Data set types redesigned: * "$" used instead of "%" for identifying header fields. * Header fields specify separate units for each dimension of the data. * Data size is calculated from the data block instead of header fields. * Map and FreqMap datasets can be rectangular. * New Zernike dataset merges old ZernikeStd and ZernikeAnnular dataset types. * Masks use NaN instead of 0 for masked pixels. * New Coordinates dataset merges old XYZ and Profile dataset types. * Coordinates dataset stores data with an arbitrary number of columns. * New Vectormap dataset added to store an arbitrary number of maps. - New modules: * Coordinates2Map - convert from Coordinates dataset to Map dataset. * CoordinatesPlot - plot 2D and 3D Coordinates data. * FreqMap_LPFilter - apply a low pass filter to a frequency map. * FreqMap_TurkeyFilter - apply a low pass Turkey filter to a frequency map. * FreqMapIFFT - calculate the inverse Fourier transform of a frequency map. * FreqMapLogPlot - plot a frequency map in logarithmic space. * MapContourPlot - display contour plot of a map. * MapFFT - calculate the Fourier transform of a map. * MapMedianFilter - apply a median filter to a map. * MaskBadData - GUI for interactive selection of bad data in a map. * PSD - calculate the power spectral density of a map. * RadCoords2Map - generate a map from a radial section. * RadiallyAvg2Coords - convert a map into a radially average section. * UnitConvert to convert from one measurement unit to another. * ZeroPadding - pad an input map with zeros. - Module changes: * AnonDataConvert has been renamed GenDataConvert. * Statistics has been renamed MapStatistics and only works on Maps. * Various bug fixes for existing modules. - Kernel changes: * Various bug fixes to kernel. - Documentation: * Added Quick Start Guide. Version 1.2: 2011/11/08 - Internal testing release only. Version 1.1: 2011/09/20 - Renamed DAVE to SAGUARO. - Externally released as SAGUARO_BETA. Version 1.0: 2010/08/20 - Original DAVE release.