15 November 2004: * Created 3dTeig.c. Program calculates eigenvalues,vectors,FA from DTI data and creates output brik file. Used 3dTstat.c as model for program. * Rename 3dTeig.c 3dDTeig.c. Made program more efficient. Reduced width of help to fit in 80 characters. 17 November 2004 * Renamed some internal messages and history to have the updated function name. 2 December 2004 * Created 3dDWItoDT.c. Program calculates diffusion tensor data from diffusion weighted images. 20 December 2004 * Fixed bugs for initializing and freeing vectors in 3dDTeig timeseries function that would sometimes result in segment faults 23 December 2004 * Automask option now working in 3dDWItoDT. 06 March 2005 * 3dDTeig.c modified to allow input datasets of at least 6 sub-briks (not necessarily equal to 6). 28 March 2005 * 3dDWItoDT.c modified to include non-linear gradient descent method and several new options including eigenvalue,eigenvector calculations, debug briks, cumulative wts, reweighting, verbose output 11 April 2005 * Moved ENTRY statements in 3dDWItoDT.c to come after variable declarations in 3 functions 12 April 2005 * Added AFNI NIML graphing of convergence to 3dDWItoDT.c with user option -drive_afni nnnnn 14 April 2005 * Fixed bug in 3dDWItoDT.c when user requests both linear solution and eigenvalues. Removed several unused ifdef'ed debugging code sections. 20 April 2005 * slight modifications to comments in 3dDWItoDT.c for doxygen and consistent warnings and error messages * Milwaukee in afni_func.c 28 April 2005 * trivial program, 3dMax, for finding the minimum and maximum for a dataset 2 May 2005 * updated formerly trivial program (now only semi-trivial), 3dMax, to calculate means, use a mask file, do automasking. The program now includes scale factors for sub-briks and extends the types of allowable datasets 3 May 2005 * fixed checking of options for incompatibilities and defaults in 3dMax 4 May 2005 * added Mean diffusivity computation to 3dDWItoDT.c and 3dDTeig.c. Also in 3dDWItoDT.c, added an additional I0 (Ideal image voxel value) sub-brik included with debug_briks option. The I0 will be used as a basis for a test model dataset. Also fixed bug in masked off area for eigenvalues when using debug_briks. 12 May 2005 * added count, negative, positive, zero options to 3dMax and fixed bug there in the calculation of a mean with a mask * created 3dDTtoDWI.c to calculate ideal diffusion weighted images from diffusion tensors for testing purposes 16 May 2005 * added tiny, tiny change to allow non_zero option with 3dMax 19 May 2005 * added min and max limits to 3dhistog.c 27 May 2005 * added mask option to 3dDWItoDT and fixed bug with automask for float dsets * added initialization to pointer in 3dMax 15 June 2005 * removed exits in plug_3Ddump_V2.c, plug_stavg.c, plug_edit.c, plug_volreg.c, plug_L1fit.c, plug_lsqfit.c, plug_power.c to prevent plug-ins from crashing AFNI application * created new program, 3dAFNItoRaw, to create raw dataset of multiple sub-brik alternating at each voxel rather than at each volume 16 June 2005 * fixed small typo in help for 3dMax.c 24 June 2005 * created new program, DTIStudioFibertoSegments.c, to convert DTIStudio fiber files into SUMA segment files 20 July 2005 * fixed bug for quick option for 3dMax 1 Aug 2005 * fixed bug in im2niml function in thd_nimlatr.c in testing for name field of images 7 Oct 2005 * Created anisosmooth program to do anisotropical smoothing of datasets (particularly DWI data). Current version is 2D only. 18 Oct 2005 * Added 3D option to 3danisosmooth program. Fixed some bugs with near zero gradient and NaN eigenvector values and aiv viewer split window error. * Fixed small bug in 3dMaskdump not allowing selection of last voxel in any dimension 19 Oct 2005 * added support to 3dMax for checking for NaN,Inf and -Inf with the -nan and -nonan options 20 Oct 2005 * fixed 3danisosmooth phi calculation for exponential version to use scaled eigenvalues 18 Nov 2005 * made major changes to 3danisosmooth and DWIstructtensor to improve performance. Also included changes for standardized message printing system for AFNI programs in 3danisosmooth.c, DWIstructtensor.c, 3dMax.c, 3dDTeig.c, 3dDWItoDT.c 21 Nov 2005 * fixed bug to improve efficiency of 3danisosmooth with mask datasets 22 Nov 2005 * support for user options for level of Gaussian smoothing (-sigma1, -sigma2) in 3danisosmooth 29 Nov 2005 * removed default author and version info for 3dMax. Now option -ver gives that output. 3dMax is used in scripts, so that change confuses everything. 14 Dec 2005 * added new options to 3danisosmooth for avoiding negative numbers and fractional control of amount of edginess. 2D exponential method gives faster results because of new constant and switched phi values. 16 Dec 2005 * added new datum option to 3danisosmooth 20 Dec 2005 * updated edt_blur.c to improve performance of y blurring on large images (nx>=512) 21 Dec 2005 * minor update to edt_blur.c for slightly more compact code. 13 Jan 2006 * added option to 3danisosmooth (-matchorig) to match range of original voxels in each sub-brick. 21 Feb 2006 * corrected some help for 1dcat program and generic help message used by other 1D programs. Updated help a bit for 3dmerge.c also. 22 Feb 2006 * additional help updates for 1deval 3 Apr 2006 * various fixes for Draw Dataset plug-in (datum check and label errors) 20 Apr 2006 * update for 3dcopy to support writing NIFTI datasets (Rick is responsible for this) 4 May 2006 * fix for 3dROIstats.c for nzmedian and nzmean confusion * erosion without redilation in thd_automask.c called in various places and needs an additional parameter to continue redilating. 9 May 2006 * 3dAutomask.c and thd_automask.c - stupid typos, debugging printfs removed, ... 10 May 2006 * JPEG compression factor environment variable in several places 19 Jun 2006 * byte swapping support for cross-platform conversion of DTI Studio fibers in DTIStudioFibertoSegments.Also updated warning and error messages to AFNI standards. Made help clearer for @DTI_studio_reposition. 21 Jun 2006 * 3dNotes support for NIFTI file format and display of history notes 22 Jun 2006 * 3dZcat updated to support NIFTI. edt_dsetitems had to be modified also for duplication of .nii or .nii.gz suffix in file names. * 3dDWItoDT can now make separate files for each type of output data to make it easier to work with other packages. Lower diagonal order used for Dtensor to make compliant with NIFTI standard in 3dDWItoDT and 3dDTeig. 29 Jun 2006 * fixed bug in edt_dsetitems.c that puts doubled .nii.nii or .nii.gz.nii.gz extensions on filenames in some cases * minor help changes in Draw Dataset plug-in (courtesy of Jill) 23 Aug 2006 * Updates to support NIFTI and gzipped NIFTI files in 3dZcat, 3daxialize, 3dCM, 3dNotes.Other changes in edt_dsetitems.c to support NIFTI format better. * 3dDWItoDT supports Powell algorithm. 3dDTeig can read either old D tensor order or new NIFTI standard D tensor order. It can also write out separate files for eigenvalues, vectors, FA, MD (like 3dDWItoDT). 24 Oct 2006 * Update to 3dNLfim to use memory mapping instead of shared memory, to support multiple CPU jobs better 25 Oct 2006 * 3dNLfim limit reports to every nth voxel via progress option 26 Oct 2006 * model_zero, noise model,for removing noise modeling in 3dNLfim 07 Nov 2006 * R1I mapping and voxel indexing support added to the DEMRI model,model_demri_3 09 Nov 2006 * output datum type support in 3dNLfim 08 Jan 2007 * 1dSEM program for doing structural equation modeling 18 Jan 2007 * 1dSEM updates for growing model size over all possible models 03 May 2007 * mri_read_dicom patches given and modified by Fred Tam for strange Siemens DICOM headers 04 May 2007 * minor output, option name and help changes to 1dSEM 08 May 2007 * [with rickr] count can skip in a funny way 09 May 2007 * minor changes to thd_mastery to allow simplified count commands in sub-brick selectors already implemented in thd_intlist.c and slightly modified help strings in 3ddata.h 16 May 2007 * 1dSEM - changeable limits for connection coefficients 29 May 2007 * oblique dataset handling. Bigger changes in mri_read_dicom, to3d, 3dWarp. Also smaller changes in thd_niftiwrite and read, 3ddata.h, vecmat.h, thd_dsetatrc, thd_dsetdblk.c 04 Jun 2007 * Initialization bug in obliquity code on some systems, other minor changes for obliquity too 06 Jun 2007 * NIFTI read creates oblique transformation structure * minor fix to 1dSEM for tree growth stop conditions 07 Jun 2007 * added ability for 3dWarp to obliquidate an already oblique dataset 11 Jun 2007 * deeper searches for forest growth in 1dSEM with new leafpicker option. Compute cost of input coefficient matrix data in 1dSEM to verify published data with calccost option. Easier to read output data for 1dSEM (sqrmat.h) 13 Jun 2007 * fixes for rewriting dataset header in 3dNotes, 3dCM and adwarp (effect of deconflicting changes) 14 Jun 2007 * fixes for obliquity handling effects on non-oblique data in places, most obvious in NIFTI files where the coordinates are changed as in 3drefit, 3dCM, 3drotate, 3dresample. Also fix for NIFTI reading of sform.