What's New in AIR 5
What's new in AIR 5.3.0
- Various minor speed enhancements; revised routines for averaging matrices which may cause results of definecommon_air and reconcile_air to be similar, but not identical to previous versions.
- Fixed bug that could cause file misnaming of files created using the scaling suffix in softmean, strictmean and no-rescale versions of these programs.
What's new in AIR 5.2.7
- Made changes needed for .air and .warp files to be compatible across 32-bit and 64-bit versions. With these changes, created .air and .warp files are binary compatible with older 32-bit versions. The current version can read .air or .warp files from either type of older version.
What's new in AIR 5.2.6
- Fixed bug in Fourier convolution of files having one or more dimensions with prime factors greater than five that would give incorrect results with 'magnify' and 'gsmooth' and that could cause errors when using gaussian smoothing within 'alignlinear' and 'align_warp'.
What's new in AIR 5.2.5
- Fixed bugs in alignlinear and align_warp where mask files were cross-checked against the corresponding image files' voxel sizes instead of dimensions allowing mismatches to go unrecognized
- Made error message for mismatched file dimensions more appropriate
What's new in AIR 5.2.4
- Fixed bug in certain interpolation routines ('reslice' and 'magnify') that could give bizarre and incorrect images when file dimensions were evenly divisible by prime numbers larger than five when using chirp-z or Fourier interpolation
What's new in AIR 5.2.3
- Fixed bug in align_warp that prevented initialization of 2D warps by .air files
- Modified align_warp to be more flexible about the polynomial order of initialization files
- Updated AIR.h to resynchronize with internal version used for development
What's new in AIR 5.2.2
- Fixed bug in manualreslice that would create a .air file inappropriately under certain circumstances
- Fixed bug in do_crop() that would cause the AIR program 'crop' to crash if the cropped file was empty; empty files are now left unchanged
What's new in AIR 5.2.1
- Fixed bugs in do_reslice_unwarp() and do_reslice_warp_ucf() that caused the programs 'reslice_unwarp' and 'reslice_warp_ucf' to give incorrect results and/or to crash unless provided with a linear estimate file
- Changed name of a variable (small) in comloger() and comtloger() that Metrowerks CodeWarrior Compiler didn't like
What's new in AIR 5.2
- Added to 'align_warp' the ability to ignore regions of pathology when warping images by
specifying an associated lesion file
- Fixed a bug in do_reslice_unwarp() that caused reslice_unwarp to load the wrong image
- Fixed bug in overlay_mask that caused compilation error when AIR_CONFIG_VERBOSITY is non-zero
- Miscellaneous style changes
What's new in AIR 5.1
- Modified default initialization for 2D and 3D affine and perspective models in AIR_do_alignlinear() to match other models even when images being aligned have different voxel sizes
- Modified default initialization for 2D and 3D models in AIR_do_align_warp() so that behavior of align_warp matches that of alignlinear
- Fixed coding errors in AIR_uvderivsN15() and AIR_qvderivsN15() that caused alignlinear to fail when using the 3D perspective model with the ratio image cost function
- Added new function AIR_zoom2D() and modified function AIR_align() to eliminate crash when using the -z flag with 2D models on image data consisting of more than a single plane
- Fixed bugs in AIR_uv3D6(), AIR_uv3D7(), AIR_uv3D9(), AIR_uv2D3() and AIR_uv2D4() that caused errors in alignlinear when using the -z flag
- Defined new error AIR_VOLUME_ZERO_DIM_ERROR in AIR.h and fprob_errs() to capture coding errors where volumes have a dimension of zero
- Fixed cosmetic errors in AIR_create_vols(), AIR_matrixs(), AIR_matrixsc(), AIR_matrixsf(), AIR_matrixsi() and AIR_tritrixs() where numbers were compared to NULL rather than to zero
- Fixed cosmetic error in AIR_do_fuse() where a character was compared to NULL rather than to a null character
- Fixed cosmetic error in declaration of main() in program 'sizeof'
- Changed declaration of constants in numerous routines to minimize type conversions
- Made miscellaneous style changes in many routines
What's New in AIR 5.07
- Fixed bug in the function AIR_do_align_warp() that could cause crashes or errors when using 2D warping models with the program 'align_warp'
- Added the ability to transparently read zero order and first order .warp files as if they were .air files
- Fixed punctuation error in usage statement for program 'combine_warp'
- Fixed bug where reslice_warp would accept unimplemented model numbers
What's New in AIR 5.06
- fixed bug where AIR would fail to recognize a user's membership in a secondary group and hence refuse to read or write files even though the operating system would allow such operations:
- added configuration parameter AIR_CONFIG_GROUPS to 'src/AIR.h'. 'configure.in', 'configure' and to the file 'src/config.h' that is generated by 'configure' to indicate when secondary groups are supported
- when AIR_CONFIG_GROUPS is non-zero, AIR will now check for secondary group membership in determining permissions (files 'src/fprobr.c' and src/fprobw.c' now use AIR_CONFIG_GROUPS)
- added reporting of the value of AIR_CONFIG_GROUPS to 'sizeof'
- fixed error in 'configure.in' and 'configure' that caused resulting 'src/config.h' file to assign incorrect default value to the configuration parameter AIR_CONFIG_REQ_PERMS when the function stat() is supported but lstat() is not
- modified matrix averaging routines used by 'reconcile_air' and 'definecommon_air'
- fixed bug where convergence criteria failed to take absolute value before verifying that residuals were less than required value in final convergence test ('src/comloger.c' and 'src/comtloger.c')
- modified convergence criteria to make them more universal ('src/comloger.c' and 'src/comtloger.c')
- fixed bug in computation of matrix logarithms so that a negative real eigenvalue generates an error instead of returning the resulting imaginary logarithm as if it were real ('src/eloger4.c', 'src/eloger5.c', 'src/fprob_errs.c')
- added warning to 'src/mulmat.c' and files that use this function ('src/comloger.c' and 'src/comtloger.c') to remind developers of special restrictions in use of this routine
- removed extraneous files 'config.h.in', 'configure.scan' and '.DS_Store' from main AIR directory
- resynchronized 'src/AIR.h' and 'src/fprob_errs.c' with internal versions used for development
What's New in AIR 5.05
- fixed a bug that caused 'reslice_ucf' to give incorrect results when the file's voxels had anisotropic dimensions
- fixed a bug in 'overlay_mask' that caused compilation of the AIR package to fail when the AIR_CONFIG_VERBOSITY configuration value was non-zero
- resynchronized 'src/AIR.h' and 'src/fprob_errs.c' with internal versions used for development
What's New in AIR 5.04
- removed unneeded file 'do_stereoproject.c' from src subdirectory and modified src/Makefile.in accordingly
- modified Makefile.in in the main AIR directory to circumvent absence of empty suffix rule in certain versions of 'make'. Without this revision, some versions of 'make' will fail to create the final executable programs.
What's New in AIR 5.03
- removed extraneous copy of config.h from the main AIR directory
- fixed bug in src/do_reconcile_air.c that caused the program 'reconcile_air' to crash
What's New in AIR 5.02
- fixed bug that caused arguments after -x, -y and -z flags in the program 'reslice' to be ignored
What's New in AIR 5.01
- fixed bugs in reslice that caused arguments after -y and -z flags in the program 'reslice'
to be parsed incorrectly
such that the program would complain and fail to generate output
- fixed bugs in 'reslice' that would cause it to complain about argument flag following -x, -y
or -z not being a valid float if the third optional argument after -x, -y or -z was omitted.
What's New in AIR 5.0
AIR 5.0 provides a number of enhancements and new features.
New General Enhancements
- support for automatic, as needed byte-swapping of data from other platforms when both
platforms comply with the IEEE Standard for Binary Floating Point Arithmetic (ISO/IEEE Std
754-1985)
- safe, on-the-fly decompression of compressed files (on platforms that support pipes)
- pre-flight checking of file permissions to avoid performing computations that cannot
be saved
- informative reporting of file permission-related problems (on POSIX compliant platforms)
New Linear Registration Features
- all spatial transformation models are now implemented for all cost functions
- code has been rewritten to minimize memory usage and optimize speed with speed
improvements approaching two-fold in some instances
- better support for cross modality registration when AIR is compiled in 16 bit mode
New Non-linear Registration Features
- polynomial warps now implemented through 12th order
- code has been rewritten to minimize memory usage and optimize speed
- polynomial warps can be initialized using .warp files
- warping parameters can be inverted numerically
- enhanced combination of .air and .warp files
- reslicing of vector fields is supported
Support for Transformation of Point Coordinate Lists
- linear transformation using .air files
- non-linear transformation using .warp files
- numerical inversion of non-linear transformations using .warp files
New Functionality for Utility Programs
- most utility programs will now optionally save a .air file describing the function that they perform
New Utility Programs
- automatic cropping of empty planes
- side-by-side fusion of compatible files
- overlaying of thresholded data
Improved Source Code
- source code is now ANSI C compliant, including function prototypes
- readability of source code has been enhanced by defining variables at the most local practical
scope
- most AIR functionality is now encapsulated in dynamic library routines, simplifying
interfaces with other environments
- tracking and reporting of errors has been enhanced
- support for the Macintosh has been updated to Mac OS X; Mac OS 9 is no longer supported
Revised Documentation
- web documentation has been fully revised to reflect above changes
- documentation is now compliant with the HTML 4.01 Transitional document type definition
Modified:
March 24, 2011
© 1995-2011 Roger P. Woods,
M.D.(rwoods@ucla.edu)