08 March 2002: * added plug_crender.c 21 May 2002: * added rickr directory containing r_idisp.[ch], r_misc.[ch], r_new_resam_dset.[ch] and Makefile * added new program 3dresample (rickr/3dresample.c) * modified Makefile.INCLUDE to build rickr directory 06 June 2002: * added @SUMA_Make_Spec_FS 20 June 2002: * added @make_stim_file 21 June 2002: * modified afni_plugin.c, NLfit_model.c and thd_get1D.c to validate directories * added rickr/AFNI.changes.rickr 01 July 2002: * added rai orientation to plug_crender.c * added plug_crender.so target to Makefile.INCLUDE for use of librickr.a 02 July 2002: * modified 3dresample - fully align dataset to the master (not just dxyz and orient) - removed '-zeropad' option (no longer useful with new alignment) * modified r_new_resma_dset.[ch] - r_new_resam_dset() now takes an additional mset argument, allowing a master alignment dataset (overriding dxyz and orient inputs) * modified plug_crender.c to pass NULL for the new mset argument to r_new_resam_dset() * modified @SUMA_AlignToExperiment, removing '-zeropad' argument when running program 3dresample 15 July 2002: * added @SUMA_Make_Spec_SF and @make_stim_file to SCRIPTS in Makefile.INCLUDE 29 July 2002: * modified plug_crender.c to allow arbitrary orientation and grid spacing of functional overlay (no longer needs to match underlay) * modified r_new_resam_dset.c to set view type to that of the master * updated VERSION of 3dresample to 1.2 (to note change to r_new_resam_dset) 05 August 2002: * modified plug_crender.c (rv 1.5) to align crosshairs with master grid * added ENTRY() and RETURN() statements 11 September 2002: * added rickr/file_tool.[ch] * modified rickr/Makefile and Makefile.INCLUDE to be able to build file_tool (note that file_tool will not yet be built automatically) * modified r_idisp.c to include r_idisp_vec3f() 20 September 2002: * modified thd_opendset.c so that HEAD/BRIK are okay in directory names (see 'fname' and 'offset' in THD_open_one_dataset()) 26 September 2002: * modified plug_crender.c - calculate and draw crosshairs directly - added debugging interface (access via 'dh' in opacity box) * modified cox_render.[ch] - pass rotation matrix pointer to CREN_render() * modified testcox.c - pass NULL to CREN_render() for rotation matrix pointer 01 October 2002: * modified Makefile.INCLUDE to build file_tool automatically 23 October 2002: * modified plug_crender.c so that Incremental rotation is the default 29 October 2002: * modified plug_second_dataset.c and plug_nth_dataset.c to update dataset pointers from idcodes on a RECEIVE_DSETCHANGE notification 22 November 2002: * added new program Hfile, including files rickr/Hfile.[ch] * modified rickr/Makefile and Makefile.INCLUDE to build Hfile 27 November 2002: * Hfile is now Imon * many modifications to Imon.[ch] (formerly Hfile.[ch]) - see rickr/Imon.c : history for version 1.2 * renamed Hfile.[ch] to Imon.[ch] * modified rickr/Makefile to reflect the name change to Imon * modified Makefile.INCLUDE to reflect the name change to Imon 13 December 2002: * Imon no longer depends on Motif - mcw_glob.[ch] are used locally as l_mcw_glob.[ch] - Imon.c now depends only on l_mcw_glob.[ch] - rickr/Makefile now compiles Imon.c and l_mcw_glob.c with -DDONT_USE_MCW_MALLOC 14 January 2003: * update 3dresample to clear warp info before writing to disk 15 January 2003: * The highly anticipated release of Imon 2.0!! - Imon now has optional rtfeedme functionality. - add files rickr/realtime.[ch] - modified rickr/Imon.[ch] - modified rickr/Makefile o to build .o files with -DDONT_USE_MCW_MALLOC o to use $(EXTRA_LIBS) for sockets on solaris machines - modified Makefile.INCLUDE o Imon now also depends on rickr/realtime.[ch] o pass $(EXTRA_LIBS) to the make under rickr 27 January 2003: * modified Makefile.solaris28_gcc : defined EXTRA_LIBS_2 (is EXTRA_LIBS without -lgen and -ldl) * modified Makefile.INCLUDE for Imon to use EXTRA_LIBS_2 * modified rickr/Makefile for Imon to use EXTRA_LIBS_2 28 January 2003: * modified Imon.[ch] to add '-nt VOLUMES_PER_RUN' option (revision 2.1) 02 February 2003: * modified Imon.[ch] to fail only after 4 I-file read failures (rv 2.2) 10 February 2003: * added a new SUMA program, 3dSurfMaskDump o added files SUMA/SUMA_3dSurfMaskDump.[ch] o modified SUMA_Makefile to make 3dSurfMaskDump o modified Makefile.INCLUDE, targets: suma_exec, suma_clean, suma_link, suma_install * modified Makefile.solaris2[67]_gcc, defining EXTRA_LIBS_2 11 February 2003: * minor updates to SUMA/SUMA_3dSurfMaskDump.c (for -help) * 3dSurfMaskDump rv 1.2: do not free structs at the end 13 February 2003: * 3dSurfMaskDump rv 1.2: redo rv1.2: free structs conditionally (and init) 14 February 2003: * 3dSurfMaskDump rv 1.3: optionally enable more SUMA debugging * modified Imon.[ch] (rv 2.3): added '-start_file' option 18 February 2003: * modified Imon.[ch] (rv 2.4), realtime.[ch] o added DRIVE_AFNI command to open a graph window (-nt points) o added '-drive_afni' option, to add to the above command o pass Imon command as a dataset NOTE * modified rickr/Makefile - added WARN_OPT 20 February 2003: * modified rickr/Imon.[ch] rickr/realtime.c (Imon rv 2.5) o appropriately deal with missing first slice of first volume o separate multiple DRIVE_AFNI commands o minor modifications to error messages 28 February 2003: * modified rickr/file_tool.[ch]: added '-quiet' option 25 March 2003: * modified Imon to version 2.6: Imon.[ch] realtime.[ch] o added -GERT_Reco2 option to output script o RT: only send good volumes to afni o RT: added -rev_byte_order option o RT: also open relevant image window o RT: mention starting file in NOTE command 01 May 2003: * modified mcw_glob.c and rickr/l_mcw_glob.c - removed #ifdef around #include * modified imseq.c - added #include 06 May 2003: * file_tool 1.3 - added interface for GEMS 4.x image files o added ge4_header.[ch] - all of the processing for 4.x images o added options for raw data display (disp_int2, disp_int4, disp_real4) o modified file_tool.[ch] - interface to ge4 o modified rickr/Makefile - file_tool depends on ge4_header.o o modified Makefile.INCLUDE - file_tool depends on ge4_header.o 09 May 2003: * modified 3dmaskdump.c o added -index option for Mike B o combined changes with Bob's 28 May 2003: * added SUMA/SUMA_3dSurf2Vol.[ch] 29 May 2003: * modified Makefile.INCLUDE and SUMA/SUMA_Makefile to build 3dSurf2Vol * 3dSurf2Vol (version 1.0) is now part of the suma build * file_tool version 2.0 : added ge4 study header info o modified ge4_header.[ch] rickr/file_tool.[ch] 03 June 2003: * modified ge4_header.[ch] to be called from mri_read.c * modified mri_read.c - added mri_read_ge4 and call from mri_read_file() * modified mrilib.h - added declaration for mri_read_ge4() * modified Makefile.INCLUDE - added ge4_header.o to MRI_OBJS for mri_read_file * modified file_tool (version 2.1) for slight change to ge4_read_header() 06 June 2003: * modified SUMA_3dSurfMaskDump.[ch] o now 3dSurfMaskDump version 2.0 o re-wrote program in terms of 3dSurf2Vol, to handle varying map types o added 'midpoint' map function 12 June 2003: * modified SUMA_3dSurf2Vol.c - minor changes to help and s2v_fill_mask2() * modified ge4_header.c to remove "static" warnings 17 June 2003: * modified SUMA_3dSurfMaskDump.[ch] -> version 2.1 o added 'ave' map function 19 June 2003: * modified SUMA_3dSurfMaskDump.[ch] -> version 2.2 o added -m2_index INDEX_TYPE for the option of indexing across nodes o set the default of -m2_steps to 2 o replace S2V with SMD in macros * modified SUMA_ParseCommands.c o In SUMA_FreeMessageListData(), do not free Message or Source, as they are added as static or local strings (but never alloc'd). 26 June 2003: * modified Imon.[ch], realtime.c to add axis offset functionality -> Imon version 2.7 27 June 2003: * modified Imon.c, realtime.c to pass BYTEORDER command to realtime plugin -> Imon version 2.8 * modified plug_realtime.c to handle BYTEORDER command 30 June 2003: * modified README.realtime to provide details of the BYTEORDER command * modified plug_realtime.c to accept BYTEORDER for MRI_complex images 21 July 2003: * modified SUMA_3dSurfMaskDump.[ch] -> version 2.3 - fixed a problem: voxels outside gpar dataset should be skipped (or get a special value, like 0) - added min/max distance output (at debug level > 0) 22 July 2003: * modified plug_crender.c to handle bigmode color bar (version 1.8) ** need to add bigmode information to widget storage * modified SUMA_3dSurf2Vol.[ch] -> version 1.2 - see 3dSurfMaskDump: skip nodes outside dataset space 27 July 2003: * modified 3dresample.c (v1.4), file_tool.[ch] (v2.2), Imon.c (v2.9), realtime.[ch] (v2.9), r_idisp.[ch] (v1.2) - added CHECK_NULL_STR() to questionable strings for printing (old glibc doesn't print (nil)) * modified Imon.h - increase IFM_EPSILON to 0.01 and IFM_MAX_DEBUG to 4 05 August 2003: * renamed SUMA_3dSurfMaskDump.[ch] to SUMA_3dVol2Surf.[ch] * modified Makefile.INCLUDE and SUMA/SUMA_Makefile_NoDev for 3dVol2Surf * modified SUMA_3dVol2Surf (major re-write -> version 3.0) - all output functions now go through dump_surf_3dt - dump_surf_3dt() is a generalized function to get an MRI_IMARR for one or a pair of nodes, by converting to a segment of points - added v2s_adjust_endpts() to apply segment endpoint modifications - added segment_imarr() to get the segment of points and fill the MRI_IMARR list (along with other info) - filter functions have been taken to v2s_apply_filter() - added min, max and seg_vals map functions (filters) - added options of the form -f_pX_XX to adjust segment endpoints - added -dnode option for specific node debugging - changed -output option to -out_1D - added new debug info - added checking of surface order (process from inner to outer) * modified Imon (-> v2.10): added '-sp SLICE_PATTERN' option 14 August 2003: * modified Imon.[ch], realtime.h: - added '-quit' option - allow both 'I.*' and 'i.*' filenames 15 August 2003: * modified 3dDeconvolve.c - only output timing with -jobs option * modified Makefile.INCLUDE - fix cygwin compile - created PROGRAM_EXE targets for Imon.exe, file_tool.exe, 3dresample.exe 20 August 2003: * modified Imon.c (-> v3.0) - retest errors before reporting them - major version change for high numbers, plus new warning output 02 September 2003: * modified Imon.c (->v3.1) - added '-gert_outdir OUTPUT_DIR' option 08 September 2003: * modified L_CREATE_SPEC write error to name correct directory 11 September 2003: * modified 3dfim+.c: read_one_time_series() was still using old 'filename' 17 September 2003: * modified SUMA_3dVol2Surf.c: fixed help info for '-cmask option' 21 September 2003: * modified SUMA_3dVol2Surf.c: - added max_abs mapping function - added '-oob_index' and '-oob_value' options - added CHECK_NULL_STR macro 23 September 2003: * modified SUMA_3dVol2Surf.c: added help for -no_header option 01 October 2003: * modified SUMA_3dVol2Surf.c: added -oom_value option and help example 02 October 2003: * major upgrades to 3dSurf2Vol (-> v2.0) - changes accepting surface data, surface coordinates, output data type, debug options, multiple sub-brick output, and segment alterations - added the following options: '-surf_xyz_1D', '-sdata_1D', '-data_expr', '-datum', '-dnode', '-dvoxel', '-f_index', '-f_p1_fr', '-f_pn_fr', '-f_p1_mm', '-f_pn_mm' 06 October 2003: * modified 2dImReg.c: if nsl == 0, use nzz for num_slices 07 October 2003: * modified plug_roiedit.[ch]: old/new -> Bold/Bnew for C++ compilation 08 October 2003: * modified @SUMA_AlignToExperiment to use tcsh instead of csh (for $#) 20 October 2003: * modified SUMA files SUMA_Load_Surface_Object.[ch] SUMA_MiscFunc.[ch] and SUMA_Surface_IO.[ch] to make non-error output optional via a debug flag - renamed the following functions to XXX_eng (engine functions): SUMA_Load_Surface_Object, SUMA_LoadSpec, SUMA_SurfaceMetrics, SUMA_Make_Edge_List, SUMA_FreeSurfer_Read - wrote functions with original names to call engines with debug flags set * modified SUMA_3dVol2Surf.c to call the new SUMA_LoadSpec_eng() (-> v3.5) * modified SUMA_3dSurf2Vol.c to call the new SUMA_LoadSpec_eng() (-> v2.1) * modified rickr/r_idisp.c to handle new ALLOW_DATASET_VLIST macro (-> v1.3) 21 October 2003: * modified SUMA_3dVol2Surf.c to complete the -f_keep_surf_order option (-> v3.6) 30 October 2003: * modified 3dbucket.c to search for trailing view type extension from end (under -glueto option processing) * modified plug_realtime.c to compute function on registered data 05 November 2003: * modified SUMA_3dVol2Surf.c to include ENTRY() stuff (3dVol2Surf -> v3.7) 07 November 2003: * Added SUMA_SurfMeasures.[ch] -> SurfMeasures (v0.2) - this is not a release version (this checkin is for backup) - supported functions are coord_A, coord_B, n_area_A, n_area_B, nodes, node_vol and thick 14 November 2003: * updates to SurfMeasures (v0.3 - not yet released) 19 November 2003: * more updates to SurfMeasures (v0.5) 01 December 2003: * finally!! SurfMeasures is ready for release (v1.0) - checked in v1.0 of SUMA/SUMA_SurfMeasures.[ch] * modified Makefile.INCLUDE for SurfMeasures * modified SUMA/SUMA_Makefile_NoDev for SurfMeasures 03 December 2003 * modified SUMA/SUMA_SurfMeasures.[ch] (v1.2) - added '-cmask' and '-nodes_1D' options 16 December 2003 * modified SUMA_Load_Surface_Object.[ch] - added functions: SUMA_spec_select_surfs(), SUMA_swap_spec_entries(), SUMA_unique_name_ind(), SUMA_coord_file(), swap_strings() - made change to restrict spec struct (and therefore surface loading) to surfaces named in a list * modified SUMA_SurfMeasures.[ch] (-> SurfMeasures v1.3) - added '-surf_A' and '-surf_B' to specify surfaces from the spec file (goes through new function SUMA_spec_select_surfs()) - fixed loss of default node indices (from -nodes_1D change) - added '-hist' option - display angle averages only if at least 1 total is computed * modified SUMA_3dVol2Surf.[ch] (-> 3dVol2Surf v3.8) - added '-surf_A' and '-surf_B' to specify surfaces from the spec file - depreciated option '-kso' - added '-hist' option 18 December 2003 * modified SUMA_3dSurf2Vol[ch] (-> 3dSurf2Vol v2.2) - added '-surf_A' and '-surf_B' to specify surfaces from the spec file - added '-hist' option * modified SUMA_3dSurf2Vol[ch] (-> 3dSurf2Vol v3.0) - removed requirement of 2 surfaces for most functions (this was not supposed to be so easy) 22 December 2003 * modified afni_graph.[ch] to add Mean and Sigma to bottom of graph window 07 January 2004 * modified 3dresample.c - added suggestion of 3dfractionize to -help output - added -hist option 13 January 2004 * modified Imon.[ch] realtime.[ch] - added '-zorder ORDER' option for slice patterns in real-time mode (the default has been changed from 'seq' to 'alt') - add '-hist' option 22 January 2004 * modified SUMA_3dVol2Surf.[ch] (-> 3dVol2Surf v3.9) - added use of normals to compute segments, instead of second surface (see options '-use_norms', '-norm_len', '-keep_norm_dir') - reversed order of '-hist' output * modified SUMA_SurfMeasures.[ch] (-> SurfMeasures v1.4) - fixed node coord output error when '-nodes_1D' gets used - added '-sv' option to examples (recommended) - reversed order of '-hist' output 23 January 2004 * modified SUMA_3dVol2Surf.c, SUMA_3dSurf2Vol.c and SUMA_SurfMeasures.c ( -> v4.0 -> v3.1 -> v 1.5 ) - SUMA_isINHmappable() is depricated, check with AnatCorrect field 29 January 2004 * modified plug_realtime.c : - allow 100 chars in root_prefix via PREFIX (from 31) - x-axis of 3-D motion graphs changed from time to reps - plot_ts_... functions now use reg_rep for x-axis values - reg_graph_xr is no longer scaled by TR - added (float *)reg_rep, for graphing with x == rep num - added RT_set_grapher_pinnums(), to call more than once - added GRAPH_XRANGE and GRAPH_YRANGE command strings for control over the scales of the motion graph - if GRAPH_XRANGE and GRAPH_YRANGE commands are both passed, do not display the final (scaled) motion graph * modified README.realtime with details on GRAPH_XRANGE and GRAPH_YRANGE 10 February 2004: * modified SUMA_3dSurf2Vol.c (-> v3.2) to add debug output for AnatCorrect * modified SUMA_3dVol2Surf.c (-> v4.1) to add debug output for AnatCorrect 11 February 2004: * modified SUMA_SurfMeasures.c (-> v1.6) to add debug output for AnatCorrect 13 February 2004: * modified README.realtime to include the GRAPH_EXPR command * modified plug_realtime.c: - added RT_MAX_PREFIX for incoming PREFIX command - if GRAPH_XRANGE or GRAPH_YRANGE is given, disable respective 'pushing' - added GRAPH_EXPR command, as explained in README.realtime - added parser functionality to convert 6 graphs to 1 via the expression * modified Imon.[ch], realtime.[ch] -> (Imon v3.3) - added '-rt_cmd' option for passing commands to the realtime plugin - the '-drive_cmd' option can now be used multiple times - the realtime zorder is defaulting to seq again (affects physical order) - passed lists of drive and RT commands to realtime plugin 18 February 2004: * modified SUMA_3dVol2Surf.[ch] (->v4.2) - add functionality for mapping functions that require sorting - added mapping functions 'median' and 'mode' 19 February 2004: * modified SUMA_3dVol2Surf.[ch] (->v4.3) to track 1dindex sources 20 February 2004: * modified plug_maxima.c - added ENTRY/RETURN calls - error: do not process last plane in find_local_maxima() 23 February 2004: * modified mri_dup.c to allow NN interpolation if AFNI_IMAGE_ZOOM_NN is Y * modified afni_pplug_env.c to add control for AFNI_IMAGE_ZOOM_NN * modified README.environment to add a description of AFNI_IMAGE_ZOOM_NN * modified SUMA_SurfMeasures.[ch] to add functions: 'n_avearea_A', 'n_avearea_B', 'n_ntri' 01 March 2004: * fixed mbig.c (was using AFMALL() without #include), left malloc() for speed 04 March 2004: * modified 3dresample.c to check RESAM_shortstr, reversed history 08 March 2004: * modified 3dFWHM.c to output NO_VALUE when results cannot be computed 15 March 2004: * modified 3dfim+.c: init sum to 0.0 in set_fim_thr_level() 17 March 2004: * modified file_tool.[ch] (-> v3.0), adding binary data editing (this was the original goal of the program, yet it took 18 months...) - added ability to modify 1, 2 or 4-byte signed or unsigned ints - added ability to modify 4 or 8-byte reals (floats or doubles) - added '-ge_off' option to display file offsets for certain GE fields - added '-hist' option to display module history 24 March 2004: * modified file_tool.c (-> v3.2), only check max length for mods 30 March 2004: * made history notes of ziad's added argument to SUMA_LoadSpec_eng() - 3dSurf2Vol (v3.3), 3dVol2Surf (v4.4), SurfMeasures (v1.8) 31 March 2004: * added rickr/serial_helper.c (-> v1.0) - this tcp server passes registration correction params to a serial port * modified plug_realtime.c - added the ability to pass registration correction parameters over a tcp socket (see 'serial_helper -help') * modified afni_pplug_env.c, adding AFNI_REALTIME_MP_HOST_PORT * modified README.environment, describing AFNI_REALTIME_MP_HOST_PORT * modified Makefile.INCLUDE, for building serial_helper * modified rickr/Makefile, for building serial_helper 01 April 2004: * modified rickr/serial_helper.c (-> v1.2) - adding a little more help - checking for bad options 02 April 2004: * modified rickr/serial_helper.c [request of tross] (-> v1.3) - change default min to -12.7, and use -128 for serial start signal * modified plug_realtime.so [request of tross] - move RT_mp_comm_close() out of check for resize plot 07 April 2004: * modified SUMA_3dVol2Surf.c (-> v4.5) to fix default direction of normals * modified serial_helper.c (-> v1.4) to #include sys/file.h for Solaris * modified Makefile.INCLUDE to pass EXTRA_LIBS_2 for serial_helper build * modified rickr/Makefile to apply EXTRA_LIBS_2 for Solaris build 13 May 2004: * added -NN help info to 3drotate.c 17 May 2004: * modified edt_dsetitems.c: THD_deplus_prefix() to remove only the basic three extensions: +orig, +acpc, +tlrc (blame Shruti) 18 May 2004: * modified SUMA_3dVol2Surf.[ch] (-> v5.0) - allow niml output via '-out_niml' - accept '-first_node' and '-last_node' options for restricted output 19 May 2004: * modified coxplot/plot_ts.c:init_colors() to start with color 0 (not 1) (allows users to modify ...COLOR_01, too, matching README.environment) 20 May 2004: * modified SUMA_3dVol2Surf.c (-> v5.1) - Ziad reminded me to add help for options '-first_node' and '-last_node' 07 June 2004: * modified @RenamePanga - subtract 1 from init of Nwhatapain 21 June 2004: * modified SUMA_3dSurf2Vol.[ch] (-> v3.4): fixed -surf_xyz_1D option 07 July 2004: * modified 3dROIstats - added -minmax, -nzminmax options 20 July 2004: * modified 3dANOVA3.c to fix stack space problem (see N_INDEX) 22 July 2004: * modified SUMA_3dSurf2Vol.c (-> v3.5) fixed bug in sdata_1D file test 26 July 2004: * modified thd_mastery.c - changed THD_setup_mastery() to return int - added THD_copy_dset_subs(), to copy a list of sub-bricks * modified 3ddata.h: added declaration for THD_copy_dset_subs() * modified r_new_resam_dset.[ch], taking new sublist parameter * modified 3dresample.c (-> v1.7), passing NULL for sublist * modified plug_crender.c (-> v1.9a), temporary update, passing sublist NULL 27 July 2004: * modified plug_crender.c (-> v1.9) to resample only appropriate sub-bricks 28 July 2004: * modifed SUMA_3dSurf2Vol.c (-> v3.6), fixed bug where a previous change caused the default f_steps to revert from 2 to 1 (discovered by Kuba) 02 August 2004: * modified SUMA_SurfMeasures.c (-> v1.9), do not require anat correct * modified SUMA_glxdino.c, cast each 3rd gluTessCallback arg as _GLUfuncptr (some 64-bit machines have complained) 03 August 2004: * modified f2cdir/rawio.h, hiding read/write declarations for 64-bit machines * added Makefile.solaris9_suncc_64 * added Makefile.linux_gcc33_64 (for Fedora Core 2, x86-64) * modified SUMA_glxdino.c, SUMA_pixmap2eps.c to cast gluTessCallback()'s 3rd argument only in the case of the LINUX2 define 11 August 2004: * SUMA_SurfMeasures.c (-> v1.10) to warn users about ~10% inaccuracy in volume 26 August 2004: * modified FD2.c: added -swap_yes and -swap_no options 27 August 2004: * modified FD2.c: replace -swap_yes and -swap_no with a plain -swap (this alters the original program!) 01 September 2004: * modified 3dVol2Surf (-> v6.0) - created vol2surf() library files vol2surf.[ch] from core functions - this represents a significant re-write of many existing functions, modifying locations of action, structure names/contents, etc. - add library to libmri (as this will end up in afni proper) - separate all vol2surf.[ch] functions from SUMA_3dVol2surf.[ch] - keep allocation/free action of results struct within library - now using SUMA_surface struct for surface info (replace node_list) - added main vol2surf(), afni_vol2surf(), free_v2s_results(), and disp...() functions as vol2surf library interface - added options to control column output (-skip_col_NAME) - added -v2s_hist option for library history access * modified Makefile.INCLUDE to put the vol2surf functions in libmri - added vol2surf.o into CS_OBJS and vol2surf.h into LIBHEADERS * added vol2surf.[ch] into the src directory (for libmri) 02 September 2004: * modified 3dROIstats.c to fix the minmax initializer * modified vol2surf.[ch] SUMA_3dVol2Surf.[ch] (-> v6.1) : library shuffle 09 September 2004: * added plug_vol2surf.c: for setting the internal volume to surface options * modifed afni_plugin.[ch]: added function PLUTO_set_v2s_addrs() * modified vol2surf.c - in afni_vol2surf(), show options on debug - allow first_node > last_node if last is 0 (default to n-1) 17 September 2004: * modified SUMA_3dVol2Surf.[ch] (-> v6.2): - added -gp_index and -reverse_norm_dir options * modified vol2surf.[ch]: added support for gp_index and altered norm_dir 23 September 2004: * modified Makefile.linux_gcc33_64 for static Motif under /usr/X11R6/lib64 28 September 2004: * modified thd_coords.c and 3ddata.h, adding THD_3dmm_to_3dind_no_wod() 04 October 2004: * added afni_vol2surf.c: for computing SUMA_irgba from v2s_results * modified afni_niml.c: - if gv2s_plug_opts.ready, call AFNI_vol2surf_func_overlay() - use saved_map in case of calling vol2surf twice, indentically - only send nvtot and nvused to suma via AFNI_vnlist_func_overlay() * modified Makefile.INCLUDE: added afni_vol2surf.o to AFOBJS * modified plug_vol2surf.c: - now set global ready if all is well - clear norms if not in use - name all local functions PV2S_* - if debug > 0, display chosen surfaces in terminal - if debug > 1, display all possible surfaces in terminal - allow oob and oom values to be arbitrary - on debug, output complete surface listing in PV2S_check_surfaces() * modified vol2surf.c: - added thd_mask_from_brick() - added compact_results(), in case nalloc > nused - added realloc_ints() and realloc_vals_list() - in afni_vol2surf(), if 1 surf and no norms, set steps to 1 - in set_surf_results(), pass gp_index to v2s_apply_filter - in segment_imarr() o changed THD_3dmm_to_3dind() to new THD_3dmm_to_3dind_no_wod() o if THD_extract_series() fails, report an error - in init_seg_endpoints() o get rid of p1 and pn o save THD_dicomm_to_3dmm() until the end 06 October 2004: * modified afni.h: added AFNI_vol2surf_func_overlay() prototype * modified afni_niml.c:AFNI_process_niml_data() - added case for name "SUMA_node_normals" via SUMA_add_norms_xyz() * modified afni_suma.h: added SUMA_add_norms_xyz() prototype * modified afni_suma.c: added SUMA_add_norms_xyz() function * modified SUMA_SurfMeasures.c (->v1.11): to mention 'SurfPatch -vol' 07 October 2004: * modified afni_plugin.h: fixed extern name PLUTO_set_v2s_addrs() * modified afni.h: changed prototype for AFNI_vol2surf_func_overlay() * modified afni_niml.c - most of the file is part of a diff, beware... - received local_domain_parent and ID from suma - added local struct types ldp_surf_list and LDP_list - in AFNI_process_NIML_data(), broke process_NIML_TYPE blocks out as separate functions - added process_NIML_SUMA_node_normals() - modified AFNI_niml_redisplay_CB() to process surfaces over a list of local domain parents - added fill_ldp_surf_list(), to create an LDP list from the surfaces - added disp_ldp_surf_list(), for debug * modified afni_vol2surf.c - new params surfA, surfB, use_defaults for AFNI_vol2surf_func_overlay() - pass use_defaults to afni_vol2surf() * modified plug_vol2surf.c - added second surface pair to globals - small help and hint changes - fixed receive order of fr and mm offsets - verify that surface pairs have matching LDPs - added PV2S_disp_afni_surfaces() to list all surfaces w/indices * modified vol2surf.[ch] - added disp_v2s_plugin_opts() - dealt with default v2s mapping of surface pairs - added fill_sopt_default() - moved v2s_write_outfile_*() here, with print_header() - in afni_vol2surf(), actually write output files * modified afni_suma.[ch] - change idcode_domaingroup to idcode_ldp - add char label_ldp[64] - init label_ldp and idcode_ldp * modified SUMA_3dVol2Surf.[ch] (-> v6.3) - in suma2afni_surf() deal with LDP changes to SUMA_surface - changed write_outfile functions to v2s_* and moved them to library 25 October 2004: * modified afni_niml.c - use vol2surf for all surfaces now - so nvused is no longer computed - in ldp_surf_list, added _ldp suffix to idcode and label - added full_label_ldp for user clarity - added functions int_list_posn, slist_choose_surfs, slist_check_user_surfs and slist_surfs_for_ldp to handle an arbitrary number of surfaces per LDP - moved old debug off margin - pass data/threshold pointers to AFNI_vol2surf_func_overlay() - pass threshold element with rthresh - prepare for sending data to suma (but must still define new NIML type) can get data and global threshold from vol2surf - for users, try to track actual LDP label in full_label_ldp - allow absolute thresholding in thd_mask_from_brick() * modified plug_vol2surf.c - make sure the surface pairs are actually different - make sure surfaces have the same number of nodes - process all parameters, but only complain if "ready" - always pass along debug/dnode * modified afni_vol2surf.c:AFNI_vol2surf_func_overlay(): - pass Rdata and Rthr pointers, to optionally return data and thresh - require absolute thresholding for vol2surf mask * modified afni.h - updated AFNI_vol2surf_func_overlay() prototype * modified vol2surf.c - apply debug and dnode, even for defaults - if the user sets dnode, then skip any (debug > 0) tests for it - check for out of bounds, even if an endpoint is in (e.g. midpoint) 01 November 2004: * modified nifti1.h, correcting 3 small errors in the descriptions: - integers from 0 to 2^24 can be represented with a 24 bit mantissa - we require that a = sqrt(1.0-b*b-c*c-d*d) be nonnegative - [a,b,0,0] * [0,0,0,1] = [0,0,-b,a] * modified plug_maxima.[ch] - remove restrictions on threshold input - rearrange options, and add a Debug Level - increment style (should be in {1,2}, not {0,1} - add a little debug output, including show_point_list_s() - removed unused variables - true_max update in find_local_maxima() - added check for warp-on-demand failure