User Tools

Site Tools


NeuroElf changelog

This page gives a quick overview what has changed in NeuroElf since its first publication on this website (May 17 2010) in reverse order in the following format:

  • date of change (first availability in a shapshot)
  • type of change (addition, correction, removal, etc.) and, optionally, type of object
  • changed object (specific filename)
  • brief description (what exactly has changed)
  • comments (where applicable)


In case you have downloaded the very first release (or any later release for that matter), you might be interested to see if a particular feature has been added, or a problem has been worked on and solved. Coming back to this page will keep you informed about the development of NeuroElf.


Your willingness to look up this information! There is currently no email list (and I don't intend to start one; I prefer not to bother people with “updates” but for those interested, the information is of course available).

From past experiences, I suggest you check this page every other month or so for updates.


Release v0.9d (03/13/2014 through ...)

Date of change Type of change Changed Object Description Comments
06/17/2014 simplification all MEX files instead of having MEX files compiled, all supported platforms now have their MEX files pre-compiled and part of the installation
06/17/2014 update libSVM libSVM updated to version 3.18
06/17/2014 simplification isemptycell.c all calls to isemptycell(CELL_INPUT) have been replaced with cellfun('isempty', CELL_INPUT) the cellfun implementation is faster
06/17/2014 new GUI feature neuroelf_gui.m several buttons and menu entries added to the surface-portion of the GUI, including intensity finding morph, inflation, and to-sphere morph, and also some keyboard shortcuts while in surface/scenery mode (f/w for face/wireframe display and t for transparency
06/16/2014 enhancement (MEX) mesh_morph.c additional features have been added to allow weighted forces per edge
06/16/2014 bug fix (xff code) ROOT::ClearObjects instead of simply removing allocated memory from the global arrays, the function now correctly calls xffclear(HANDLES) this allows all the clean-up routines to be called, such as removing objects from NeuroElf's GUI
06/15/2014 enhancement SRF::Morph a progress bar object can now be used instead of the default (creating its own progress bar)
06/15/2014 enhancement SRF::BackToVMR the method now correctly places the resulting data into a VMR object, and also initializes the UndoBuffer if necessary
06/14/2014 new xff method SMP::ComputeFormula added a corresponding method to compute formulas for SMPs
06/13/2014 new xff method SRF::Area compute triangle area (incl. area per vertex)
06/13/2014 new MEX function mesh_normals.c fast computation of normals per vertex
06/12/2014 enhancement AFT::ClusterTable names of local maxima in the output VOI object are now clearly distinguishable from those of main clusters
06/11/2014 new function mesh_morphm.m a M-file implementation that, in the simple force case, is faster than the MEX implementation due to multi-core support
06/10/2014 new GUI feature neuroelf_gui.m a surface can be created from a cluster table representing the volume of the clusters
06/10/2014 enhancement ne_extcluster.m cluster beta extract tables are now better formatted
06/09/2014 enhancement SRF::CurvatureMap, SRF::DensityMap the resulting SMP Maps now have a unique type so as to improve the thresholding
06/08/2014 new GUI feature neuroelf_gui the main GUI now supports resizing (larger), and the size at closing time is stored, such that the GUI opens in the same configuration as before
06/08/2014 enhancement (GUI) ne_swapfullsize.m the swapping of full and reduced sizes is much faster now
06/08/2014 new GUI feature ne_draw_histmarked.m a histogram of marked voxels can be displayed to estimate the peaks for gray and white matter
06/07/2014 enhancement ne_undock.m when undocking a slicing or rendering satellite, the global field ne_gcfg.tio.satSag or ne_gcfg.tio.satRnd will be set
06/07/2014 bug fix (xff code) AFT::RenderToTransimg the negative tail could have its maximum cut off (invisible)
06/07/2014 enhancement all UIs/figures now the HandleVisibility is set to 'callback' on all figures to prevent accidental drawings inside them
06/06/2014 bug fix (GUI) ne_btdown.m, ne_btmove.m drawing is now prevented when clicking somewhere within the GUI that is not directly on top of the slice displays
06/06/2014 enhancement @xff/subsasgn.m removed necessity to create a copy of large fields in the contents of xff objects by using a more direct sub-field assignment operation this only increases performance if the field is on the first level of fields, such as vmr.VMRData
06/06/2014 new GUI feature neuroelf_gui.tfg some default choices have been added to set the color lookup table for grayscale objects
06/06/2014 enhancement AFT::SliceData3D major speed improvement when using regular (full-space, integer-coordinate) sampling for HDR (NII) objects
06/06/2014 enhancement (MEX) indexarraynb.c now the coordinate range-syntax also supports four-dimensional arrays
06/06/2014 enhancement AFT::RenderToTransimg, ne_setslicepos.m now also the VMRData16 component of VMR objects can be rendered and displayed in the GUI directly
06/05/2014 enhancement (GUI) ne_setslicepos.m, ne_draw.m code has been moved into a new file and substantially expanded and cleaned, which now allows to fix-color as well as multiply-color areas
06/04/2014 enhancement AFT::GetVolume, AFT::SampleBVBox, AFT::SampleTalBox added support to retrieve alpha volume from objects that support them (e.g. Average-timecourse VTCs)
06/02/2014 bug fix (MEX) cov_nd.c for lag 0, the function was supposed to run the covariance/correlation along the first dimension
05/29/2014 enhancement ne_glmplotbetasup.m when updating the beta plotter, a faster access for non-normalized data (based on template space coordinates) has been implemented
05/28/2014 enhancement AFT::MapNames additional information about maps (type, D.F.) can be requested with an extended flag
05/22/2014 new GUI feature neuroelf_gui a tool to average structural/anatomical datasets has been added, supporting spatial normalization and brain extraction
05/21/2014 enhancement MDM::ComputeGLM, SDM::CalcBetas instead of storing beta maps, single-regressor t-maps can now be computed to facilitate later RSA (representational similarity analysis) application
05/05/2014 enhancement (GUI) ne_cm_compute.m, GLM::RFX_tMap contrast maps (weighted sums of beta maps) can now be smoothed “late” (immediately prior to computing random-effects statistics)
05/04/2014 enhancement (GUI) spm5_preprojobs an option has been added to import VTCs after realignment (using non-normalized, unsmoothed data for GLMs)
05/03/2014 enhancement AFT::GetVolume, GLM::VOIBetas, MDM::ComputeGLM RFX-GLM files can now contain non-normalized data alongside the normalization information (read, for instance, from the STRUCT_seg_sn.mat file)
05/01/2014 enhancement importvtcfromanalyze subject-space data can be imported and the SPM-based normalization parameters stored in the RunTimeVars property
04/17/2014 enhancement SDM::CalcBetas an option to pool all but the single-trial in question to simple regressors has been added to improve the stability of single trial betas
04/10/2014 enhancement neuroelf_updatebuilds.m the function now keeps correctly track of build number and date
04/09/2014 enhancement PRT::CreateSDM names for parametric regressors can now be provided, such that they occur properly in the regressor names and in the GLM output changes also made in MDM::SDMs
04/06/2014 enhancement readeprimetextlog.m now allows to return the result as a flat struct (instead of several sub-levels)
04/04/2014 enhancement AFT::RenderToTransimg added slice-ranges to calling syntax, so volumes can be “sliced” along the cardinal axes
03/27/2014 bug fix (MEX) renderv3dxia.c RGB-volumes would not be correctly sliced (interpolation code error) in one of the three slicing directions
03/27/2014 enhancement (GUI) ne_smoothstats.m this function is now also directly available via the VMP menu prior to this change, the rendering dialog was necessary
03/20/2014 enhancement (GUI) neureolf_gui the rendering view can now be undocked, which allows arbitrary image size (incl. non-square)
03/13/2014 new GUI feature ne_vmr_exportrgb.m allows to export a VMR into an RGB-volume Nifti file, which then allows colored drawing
03/13/2014 pre-release NeuroElf pre-release of v0.9d

Release v0.9c (04/29/2011 through 03/13/2014)

Date of change Type of change Changed Object Description Comments
03/12/2014 enhancement AFT::GetVolume if a cluster-size threshold was enforced, the volume can be masked with the resulting binary volume
03/11/2014 enhancement renderv3d.m, AFT::RenderToTransimg added statistical overlay (inlay) to the 3D rendering engine, as well as RGB-volume rendering
03/10/2014 enhancement (GUI) neuroelf_gui now support for 2D/3D RGB drawing in the drawing mode
03/07/2014 enhancement AFT::ClusterTable small-volume-correction (SVC) has been added to the cluster table method (only for VMPs that store the smoothness information) the SVC-corrected map is stored in a new Map in the VMP on which it is called
03/06/2014 enhancement xffmethods.m methods are now stored as function handles, which speeds up calls to OBJ::Method code a bit further
03/05/2014 enhancement renderv3d.m, AFT::RenderToTransimg added the alpha blending option to the rendering enging
03/04/2014 enhancement @xff/private/*.m replaced the (relatively costly) call to isxff(…) with a private function this change applies to all OBJ::Method calls
03/01/2014 bug fix (xff code) SDM::Concatenate a problem could occur if the confounds didn't contain a constant
02/28/2014 new GUI feature neuroelf_gui next to the slow slice-wise rendering, a new rendering feature (using Dirk-Jan Kroon's BSD-licensed code) is available to perform rendering in the main UI
02/26/2014 new functions renderv3d.m implementation of Dirk-Jan Kroon's rendering code in NeuroElf in addition, some other functions have been created containing some auxiliary code
02/17/2014 enhancement PRT::CreateSDM a warning is printed for every onset that is out of bounds (has no effect on regressors) this is useful to detect problems with PRT-generation scripts or wrong VTC assignment
01/31/2014 enhancement dcm2nii.m added Chris Rorden's DICOM-2-Nifti conversion tool as an option this highly improves speed of the conversion process for one-file-per-slice DICOM sets
01/28/2014 enhancement asciiread.m Unicode files are now autodetected (only works for reading files)
01/22/2014 new GUI feature neuroelf_gui if exactly two statistical maps are overlayed, a special joining modus can be selected that shows overlap in the maximally distant-hue color
01/22/2014 new function maxdistcol.m compute the maximally distant-hue color for a set of color pairs
01/14/2014 enhancement VOI::ImportClusters method now also supports compressed Nifti files as inputs
12/21/2013 enhancement conjval.m, conjvalp.m allows a new calling syntax, such that the conjunction is computed over a dimension in the input data, whereas the second argument must then signify the dimension
12/04/2013 new xff method SRF::NeighborsNDegree return the list of neighbors up to a certain degree
11/27/2013 new GUI feature ne_render.m added capability to generate slice-update movies from rendering
11/14/2013 enhancement smoothdata3.m also allows to use FFT and iFFT based smoothing (faster for large number of volumes)
11/14/2013 enhancement @transio/transio.m if a file cannot be opened for reading due to locking (FILE IN USE), transio will re-try up to 5 times with increasing pauses with a total of 1.6 seconds waiting time max this was added to allow brief times of file-locking for other processes, as once a transio access is completed, the corresponding file pointer is closed again
11/14/2013 enhancement alphasim.m instead of using re-scaled random data, now also allows to create (more accurate) t-maps from smoothed random maps this increases the accuracy, particularly for very low D.F. maps
11/07/2013 enhancement MDM::ComputeGLM added option to write out residual after regression of known effects
11/06/2013 enhancement importvtcfromanalyze attempts to automatically load the realignment parameters found in the directory of the data into the RunTimeVars structure of the VTC
11/04/2013 enhancement VMP::ImportSPMMaps if SPM-t maps are imported, the method also attempts to import the estimate of the smoothness of the residual (RPV.hdr/img)
10/24/2013 bug fix (xff code) AFT::SliceToTransimg erroneously marked some VMR voxels as being colored due to minimal rounding errors in flexinterpn.c MEX, values that are 225 can come out as the next higher double precision value
09/16/2013 enhancement (GUI) ne_cm_compute.m the contrast manager now supports running multiple selected contrasts (instead of just either one or all)
09/05/2013 enhancement MDM::ComputeGLM added automatic global signal extraction from colin-brain based GM/WM/CSF regions (conservative estimates) this feature is available for standard-bounding-box data with either 2 or 3mm resolution
08/14/2013 enhancement SDM::CalcBetas now supports MTC+SSM combination as inputs
07/19/2013 enhancement (GUI) neuroelf_gui new option that allows to turn subject IDs off when VOI betas are extracted from clusters
07/07/2013 enhancement MDM::VOITimeCourses extended to allow POIs for MTC-based MDMs
07/06/2013 enhancement GLM::VOIBetas now allows a list of coordinates to be passed in to extract values from a single VOI (or voxel)
07/06/2013 bug fix (xff code) MDM::ComputeGLM for MTC-based GLMs, an error occurred for RFX computations
05/20/2013 new function vifactor.m compute the variance-inflation factor (VIF) for regressors of a design matrix
05/08/2013 enhancement (GUI) neuroelf_gui added compressed Nifti files (*.nii.gz) to the file selector for statistical maps
05/03/2013 enhancement GLM::RFX_rMap, GLM::RFX_tMap in addition to the estimated overall smoothness of the map now also stores the actual smoothness images this is as a preparatory step for small-volume-correction based on the actual number of resels in a particular volume
05/01/2013 new GUI feature spm5_preprojobs added the option to brain-extract anatomical scans to improve coregistration with the functional data
04/30/2013 new function spm5_extract_brain command line tool loading a pre-defined job and using SPM's segmentation to extract the brain from an anatomical dataset
04/25/2013 enhancement AFT::Browse for VMP objects (and other objects with maps), the map number can now be given in the call, e.g. vmp.Browse(3);
04/19/2013 bug fix (xff code) MDM::ConditionOnsets this now takes the .tshift parameter correctly into account to allow (command-line based) shifting of onsets for methods such as MDM::VOICondAverage
04/18/2013 enhancement @xff/subsref.m methods (but not fieldnames) can now be abbreviated if there is only one unique continuation example: obj.Bro; will call AFT::Browse
04/15/2013 enhancement VTC::CreateMTC added sinc interpolation as option when creating MTCs
04/15/2013 added feature MDM::VTCCondAverage creates whole-brain onset-locked averages in arbitrary (virtual) TRs to visualize trial-/condition-based time courses for each location in the brain additional functionality is provided with VTC::AverageMovieVMP, VTC::AveragePeak, VTC::CombineAvgVTCs, and VTC::JoinAvgTCs
04/12/2013 enhancement @xprogress figures and axes and now created with HandleVisibility set to 'off' to prevent random axis plotting into them
04/03/2013 enhancements PLP::MKDA several smaller enhancements to MKDA code (allowing to fix coordinates to integer values and also specify an inputmask
03/07/2013 new function generatetdx.m generate a design matrix X based on tabular data with lookups
03/03/2013 enhancement (MEX) histcount.c now the input data can also be weighted to generate a weighted histogram
02/28/2013 new functions modelcomp.m, modelcompse.m computes an F-statistic (also for N-d data), comparing two models (full and reduced)
02/22/2013 enhancement fitrobustbisquare_img.m added support for passing in preliminary/prior weights
02/20/2013 added feature MDM::ComputeGLM now supports using Vince Calhoun's HRFboost code (implemented separately) also affected are MDM::SDMs and PRT::CreateSDM, also returning the basis function set
02/18/2013 enhancement (format) GLM.bff the AR1Pre and AR1Post fields have been renamed to ARPre and ARPost this is to reflect the fact that BVQX GLMs now support AR(2) models
02/18/2013 new file format DTA.bff added support for STATA (file version 113 through 115) files
02/06/2013 enhancement createfmr.m improved MOSAIC detection
02/02/2013 enhancement glmtstat.m allows robust weights to be added to compute general t-statistics
02/02/2013 enhancement (MEX) cov_nd.c added support for auto-correlation (lag) and cov/corr computation along first dimensions
02/02/2013 new xff method PLP::TDDLabelGM inquire Talairach Daemon Database labels for points
01/31/2013 enhancement (format) VMP.bff added support for FileVersion 1 (first-ever) VMPs
01/29/2013 enhancement ac2vmp.m additional support for cluster files from Tor Wager's tools
01/28/2013 new function dispp.m convenience/shortcut function calling first disp(…) and then pause(0.001); to force-refresh the output
01/26/2013 enhancement PLP::Select a mask can now be specified as a second argument next to the selection condition, and points outside the mask are then removed
01/26/2013 enhancement PLP::PlotOnSlice this method now returns the handles of points and texts so they can be manipulated later (e.g. re-sized or deleted)
01/08/2013 enhancement VOI::CreateMSK instead of supplying a MSK object, also a HDR/NII object can be specified to create SPM-compatible masks
12/18/2012 enhancement psctrans.m, ztrans.m speed increase over previous implementation
12/14/2012 enhancement AFT::GetVolume added support for accessing global maps from FFX-GLMs (with map number after all betas + XY maps) the order of additional maps is MultipleRegressionR, MCorrSS, TimeCourseMean, and then all ARLag maps
12/13/2012 enhancement GLM::FFX_tMap emulate BrainVoyager's AR(1) modeling when computing FFX-based t-Maps this is very preliminary and requires additional testing!
12/12/2012 enhancement AFT::ExportNifti an additional argument, talorder, can be given to force the major axes being in Talairach/MNI order and orientation
12/12/2012 new function image_matchprops.m match several images on several properies (contrast, luminance, size, etc.)
12/06/2012 enhancement GLM::RFX_conmaps added support for FFX-GLMs when calling the RFX_conmaps method
12/04/2012 enhancement/fix splitclustercoords.m now the distance to the central point is taken into account, improving the general splitting of clusters into more realistic sub-units
12/04/2012 enhancement @xff/isfield.m xff objects now support the isfield function (as a struct) to check whether a field exists
11/27/2012 enhancement/fix GLM::RemoveSubject prior to the fix, this method would remove all subjects starting with the same string (e.g. removing SUB10 would also remove SUB105)
11/07/2012 enhancement @xfigure/xfigure to improve performance, properties and methods that are used more frequently are tested for first in the switch/case construction
10/17/2012 enhancement GLM::RFX_tMaps automatically filters out subjects for which a contrast map (weighted sum of beta maps) contains NaN values due to missing conditions the degrees of freedom will be adjusted correctly!
10/12/2012 new GUI feature neuroelf_gui added NeuroSynth maps to the GUI's File menu
10/04/2012 new xff method MTC::SmoothnessSMP compute statistical map showing the estimated smoothness of an (residual) MTC
09/27/2012 enhancement HDR::InhomogeneityCorrect now supports passing in an additional binary mask to prevent known voxels outside the brain to be taken into the estimate
09/19/2012 new function importrfxglmfromafni.m added function to generate a NeuroElf/BVQX compatible GLM file out of a series of AFNI HEAD/BRIK regression outputs
09/19/2012 enhancement VMP::ImportSPMMaps now also supports importing from HEAD/BRIK files
09/14/2012 enhancement VMP::PerformFDR this method now takes the estimated smoothness into account to compute the number of maximum resels for the required Bonferroni level
09/07/2012 new GUI feature ne_glmbetaplot.m added checkbox to display general info (location, number of voxels, number of subjects) as title
08/15/2012 enhancement alphasim.m reflecting the multiple linear regression capabilities of GLM::RFX_rMap, alphasim now supports combining several regressors into one model when computing false positive rates
07/30/2012 enhancement (GUI) fmriqasheet.m now allows to display noise estimate from individual slices when clicking into the time course
07/25/2012 enhancement (GUI) ne_vmp_createsmp.m if no surfaces are loaded, a set of default surfaces (LH+RH for the 40k vertices colin brains) are suggested to be loaded
07/15/2012 enhancement (GUI) neuroelf_gui the option to check fMRI quality now also allows to load existing output files of the fmriquality.m function
06/25/2012 enhancement calcbetas.m added features: AR(1) and (pre-computed!) weights can be specified as arguments
05/08/2012 new GUI feature ne_cm_compute.m now instead of comparing groups, maps for groups separately can be computed for visual inspection
05/01/2012 enhancement acsvread.m numeric conversion now restricts the number of output values to prevent invalid numbers
05/01/2012 added feature xff / bffio.m added support for gzip-compressed files for files with transio access (HDR/NII), the content will be temporarily unpacked into the system TEMP folder
04/26/2012 added function hrfboost.m implementation of Vince Calhoun's HRFboost algorithm
04/17/2012 bug fix (xff code) VMP::ComputeFormula if the .MapParameter field is set, it is also expanded if necessary to avoid invalid objects after saving
03/15/2012 enhancement colorpicker.m the function now also returns a second output informing the calling function whether the dialog was canceled or not this helps to determine whether a UI update is needed
03/15/2012 enhancement (GUI) mkda.tfg added several options to the MKDA UI menu, incl. plot on slice and plot on surface
02/28/2012 enhancement @xff/private/xffrequestfile.m the generic file requestor upon using obj = xff('*.EXT'); can now be used to select files with different extensions by placing them in parentheses, split by the pipe character example: stats = xff('*.(glm|vmp)');
02/28/2012 new xff method HDR::SliceTiming added slice-timing to NeuroElf directly this method does not use SPM code
02/24/2012 new xff method AFT::TimeCourseCorr compute slice-based cross-correlation matrix this can be used to guess for interleaving distance for slice-timing (as a confirmation)
02/03/2012 new GUI feature ne_remote.m added remote-control support via HTTP/HTML connection this can also be used to serve VMP content to a web browser
01/24/2012 enhancement (GUI) ne_satresize.m slice-based satellites now can be resized with the underlying transio object being recreated in a higher resolution
01/24/2012 enhancement (format) TAL.tff FileVersion 2 with added fields is now supported
01/24/2012 bug fix (xff code) VOI::ApplyTrf if the VOI object contained more than one VOI field, the code would not correctly allocate the memory, resulting in slower performance
01/23/2012 enhancement renamedicom.m added capability to first pack all DICOM files into a cell array to increase speed this requires fewer file-system calls when re-reading the directory after every rename operation
01/22/2012 enhancement @transimg/*.m the transimg class now allows to add partial and transformed layers
01/13/2012 enhancement (GUI) ne_maskstatswithvmr.m will use the transio-loading feature to ensure that GLMs with data on disk only will not be altered
01/13/2012 new xff method AFT::LoadTransIOData allows to read all transio objects into memory in any xff object this is particularly useful for GLM files, as the exact fieldnames need not be specified
01/05/2012 enhancement MDM::ComputeGLM now also allows to use 4D NIftI (or series of 3D HDR/IMG) files as sources (instead of VTCs) this then uses adhoc-sampling of the NIftI data into VTC format
12/28/2011 enhancement crawford_abnorm.m support data types other than double directly
12/09/2011 enhancement GLM::SubjectPredictors now also works for FFX-GLMs with SeparatePredictors set to “subject” (2)
12/08/2011 enhancement GLM::JoinFFX now also allows to join FFX with various SeparatePredictors settings and has advanced support for transio files (using the multiple filenames access)
12/08/2011 bug fix (xff code) GLM::ConvertToVMP now also stores the TrfPlus content from the RunTimeVars
12/08/2011 enhancement/fix AFT::SetScalingSlope fixed some issues with HDR objects (RGB/RGBA data) as well as for VMRs (forcing a maximum of 225)
12/01/2011 new xff method HDR::DynToVTC convert HDR dynamics (volumes) to VTC format
11/25/2011 new function mapestsmooth.m estimates smoothness of statistical map this function uses a high-resolution periodogram of 1-dimensional voxel trains to determine the underlying smoothness of a 3D image (and while the results must be used with caution and as a lower boundary!, they give a rough estimate of the underlying smoothness)
11/23/2011 enhancement @xff/display.m will show a unique xffID for empty-filename (adhoc) objects if display is called on ROOT object in addition, this also works as a lookup for ROOT::Document
11/23/2011 enhancement custom_pwelch.m added support for multi-dimensional inputs
11/21/2011 new MEX function indexarraynb.c/.m same as indexarray but returns 0 for index-out-of-bounds values
11/20/2011 new function resestsmooth.m estimates smoothness of residuals (used for alphasim), also added to GLM::RFX_rMap and GLM::RFX_tMap this function is based on some notes about a more robust smoothness estimation, found at the FMRIB website
11/18/2011 enhancement MDM::ComputeGLM this method now supports fixed-effects computations (with the RFX_GLM property set to 0) results have been compared to BrainVoyager QX's output and differences are based on the fact that Matlab's matrix inversion function (inv) produces slightly different values that BrainVoyager
11/15/2011 enhancement tempfilter.m added polynomial filters to the basis sets also added to MDM::ComputeGLM
11/14/2011 enhancement fitrobustbisquare_img.m calls to the function can now also contain the inverse of the original covariance matrix of the design this change potentially speeds up repeated calls significantly and was added accordingly to SDM::CalcBetas
11/10/2011 new GUI feature ne_mkda_*.m, mkda.tfg added MKDA to NeuroElf GUI with own dialog
11/09/2011 enhancement AFT::CopyObject method now allows to retain the filename with an additional argument otherwise the filename in the copy would be set to empty
11/07/2011 enhancement AFT::Layout method now also works for HDR objects
10/21/2011 enhancement neuroelf_makefiles.m the function now also is able to produce SRF surfaces from the newly added subcortical segmentation file
10/21/2011 new binary file colin/subcortical.nii a new file has been added that represents a 0.5mm-resolution segmentation of subcortical areas (which can be transformed into SRF surfaces using the adapted neuroelf_makefiles function)
10/13/2011 enhancements (GUI) GLM beta plotter added keyboard shortcuts for many function switches (regression line, etc.)
10/02/2011 new xff method AFT::Coregister interface to call SPM's coregistration for different types of objects
09/24/2011 enhancement image_resize.m supports relative resizing with values between 0 and 1 for height
09/18/2011 enhancement GLM.bff allow sparse design matrices (and iXX elements)
09/09/2011 enhancement @transio/subsref.m added struct-notation to retrieve underlying fields without needing to struct() the object first
09/07/2011 enhancement convones.m added support for multi-dimensional data (convolved in first dimension)
08/25/2011 enhancement AFT::SaveRunTimeVars any struct field (incl. non-singleton structs) may now contain a RunTimeVars sub-field associated with it (e.g. glm.Study.RunTimeVars), which will be saved into the .rtv file
08/25/2011 new function catstruct.m concatenate struct contents even if fieldnames or order doesn't match
08/22/2011 new GUI feature ne_openstatsfile.m allows to open HDR/NII files as stats map instead of anatomical/structural data
08/20/2011 enhancement (GUI) ne_importvmp.m allows to import maps into an existing VMP
08/11/2011 enhancement AFT::Save, AFT::SaveAs if OBJ.RunTimeVars.AutoSave is a 1×1 true logical value, then the AFT::SaveRunTimeVars method will be called as well automatically
07/28/2011 renamed xff method GLM::SingleStudy_tMap → GLM::FFX_tMap together with the rename, it now correctly implies that this method can be used on any FFX-GLM, and it was added to the contrast manager
07/26/2011 new xff method AFT::MaskWithMSK applies a MSK object to various other objects
07/14/2011 enhancement VMR::ApplyTRF allows to apply TRF to VMRData16 field (V16 data) as well
07/10/2011 bug fix findfirst.m if the MEX code is not available, seeking from an index other than 1 resulted in the wrong target index
06/30/2011 bug fix (xff code) GLM::VOIBetas fixed the code for allowing index repetition for transio-based beta maps
06/21/2011 enhancement VTC::CreateGLM added robust regression to single-VTC regression
06/19/2011 new function readeprimetextlog.m reads an EPrime text-based log file as a struct
06/13/2011 new function recordkeys.m this function can be used to record key strokes with time stamps can be used alongside any other window (e.g. movie player) to record ratings
06/09/2011 enhancement (GUI) ne_glmplotbetas.m the beta plotter now also allows to rank-transform the data for scatter plotting this was added to be compatible and consistent with maps that were created using rank-transformed contrast/covariate data
06/08/2011 enhancement (GUI) fmriqasheet the window of the fMRI QA sheet now allows to manually alter the selection of to-be-discarded volumes if a valid xff object was used to create the QA sheet, the selection can also be updated in the .RunTimeVars variable for later use
06/07/2011 new feature VTC::MinFrame minimizes the spatial frame of a VTC to existing data
06/07/2011 enhancement/fix fdr_thresholds.m the default behavior fdr_thresholds is now to select the last crossing of the sorted p-values with the linearly increasing p-values before the default behavior would mimic older versions of BrainVoyager QX selecting the first (and wrong!) crossing
06/06/2011 enhancement (GUI) spm5_preprojobs added the ability to create a 1mm-resolution normalized anatomical image after preprocessing this feature is not available when the data is normalized using the EPI template
06/04/2011 new feature (GUI) ne_mdmqcglobtc.m a new function has been added to the GUI (under Tools → Quality assessment → Create global MDM-based timecourse…) this function requests an MDM filename and then creates a time course across all runs to visualize temporal outliers (in the global time courses of runs)
06/04/2011 new feature (GUI) ne_mdmqcvtc.m a new function has been added to the GUI (under Tools → Quality assessment → Create averaged-volumes VTC…) this function requests an MDM filename and then creates a VTC with one (or three) volumes that represent each of the time courses so as to quickly check the spatial normalization across subjects has worked
06/03/2011 enhancement findfiles.m calls with a combined path/pattern argument can now contain options, in which case the path/pattern will be correctly split
06/03/2011 enhancement (format) PRT.tff protocols now allow to store multiple parameters per conditions this is done by setting the .ParametricWeights header field to the maximum number of parameters; conditions with less than this number of parameters must have the appropriate number of all-0 columns after the on/offsets
06/03/2011 bug fix (format) HDR.bff saving HDR objects would not work properly for NII (one-file) objects this bug was introduced in a snapshot, so you only need to update if you are using a SNAPSHOT version!
06/02/2011 enhancement spm5_preprojobs.m the VTC filename pattern in now configurable
06/02/2011 enhancement colorpicker.m the colorpicker now indicates in each of the selection boxes what position is selected
06/01/2011 bug fix (GUI) ne_closefile.m certain file types would not be correctly removed from the dropdown (e.g. anatomical/functional HEAD files)
05/31/2011 enhancement PRT::CreateSDM a new parameter, diffreg, has been added, which allows to compute the difference of two regressors this can be potentially useful in cases where there are two more tonic conditions (e.g. mindsets or instructional modes) in an event-related design, which otherwise are highly colinear with the mean regressor
05/31/2011 new xff method GLM::Anova creation of BrainVoyager compatible AVA objects this function has been moved from the _inprogress subfolder to the actual @xff/private folder, for now only the 1-within, 1-between model is implemented
05/31/2011 new function mrmanova.m this function eventually will support a set of mixed-effects, repeated-measures ANOVA models for now, only the one-within/one-between factors model is implemented and tested
05/30/2011 enhancement (GUI) ne_setoption.m for GLM beta extraction via the GUI, the list of conditions/predictors to extract values from can now to selected via the GLM menu this allows to drop conditions of no interest (for a set of extracted values) without having to use a text editor
05/30/2011 new function harmmean.m compute the harmonic mean of a numeric variable across a selected dimension
05/30/2011 enhancement neuroelf_gui, AFT::SetColors, etc. the GUI now supports visualizing maps stored in AVA (Anova result) files
05/29/2011 enhancement @xff/xff.m as an enhancement to the xff class, syntax such as h = xff('path/pat*.img'); will load the images (or NIftI files) matching the pattern for this syntax to work, a folder name must be given!
05/28/2011 new xff method PLP::ClusterColorSize sets a new size and color for each point color and size depend on how many and how close points from other studies are, so that a natural clustering becomes visible (which is an informal way of looking at convergence of coordinates across studies)
05/27/2011 bug fix AFT::SetScalingWindow the histogram now correctly reflects the scaled data
05/27/2011 enhancement @xff/xff.m loading multiple headers (a cell array with *.hdr / *.img / *.nii) files is now supported and creates a HDR/NII object with all data files concatenated in the 4th dimension using the new transio feature some additional methods have been updated to allow this (e.g. MDM::CheckFiles)
05/26/2011 new feature transio/*.m transio objects can now be created from multiple files (which must be concatenated in the last dimension) this allows to access several files (e.g. *.img files of a time series) through one variable
05/24/2011 bug fix sdist.m in case the input was invalid, the 'norminv' sub-function could produce an error this was fixed, and invalid input values now properly return a NaN output
05/24/2011 enhancement newnatresvmp.m the default spatial layout is now consistent with the default MNI/VTC box this change was introduced so that new VMPs are more likely to match the spatial layout of the outcome of preprocessing and regression results, e.g. for MKDA analyses
05/24/2011 renaming PLP::MetaVMP → PLP::MKDA the MetaVMP method has been renamed to MKDA this was done to better represent the purpose of the method
05/24/2011 new function (GUI) ne_vmp_threshmaps.m a new function (and menu entry under VMP → Threshold multiple maps) is available to set the threshold of multiple maps (to the same stats or p value) this function is also available in the GLM menu to threshold multiple beta maps
05/23/2011 enhancement HDR::CoordinateFrame now the QFormCode != 0 algorithm for computing a transformation matrix is fully supported before, the rotation elements were ignored
05/22/2011 new xff method SRF::ApplySPMsn apply SPM-based normalization to SRF file
05/20/2011 new feature (GUI) neuroelf.tfg there are new menu entries under File → Options → Spatial normalization these entries allow to set an object-specific SPM compatible normalization file, allowing for on-the-fly normalization for visualization (without having to normalize the data on disk); also supported in Montage and Rendering functions
05/20/2011 enhancement AFT::Sample*Box, AFT::SliceData3D these methods now support the use of an optional SPM normalization parameters struct to perform full-volume and on-the-fly normalization
05/19/2011 enhancement xff/subsref the DefaultProperty of the file formats now can be either a single field name or a 2-item list this allows to create more complex DefaultProperty constructs, as used in the updated PLP object (where plp.Name references the data column in plp.Points with name 'Name'
05/19/2011 new xff method PLP::AddColumn adds a column of values to an existing PLP object if the column name already exists, the data is replaced
05/19/2011 new function histnd.m compute histogram over N-dim data in one dimension
05/17/2011 enhancement/fix ne_mdmvoicondavg.m, MDM::VOICondAverage this functionality would have problems with both a single value baseline window (e.g. only the onset time) as well as if only one onset per condition was given (single-trial analysis)
05/15/2011 new feature (GUI) ne_loadcluster.m now also supports loading the files supported by VOI::ImportCluster
05/15/2011 new xff method VOI::ImportCluster imports clusters from HDR/IMG/NII, MSK, and TXT files into an existing VOI object this allows to import images from various toolboxes as single or multiple clusters, and also creation of multiple spheres from text files
05/14/2011 new xff method PLP::MetaVMP creates a VMP container with a set of maps (one for each study/contrast/smoothing kernel combination and a group map this is still work in progress and needs to be refined and requires a good algorithm to threshold the map
05/13/2011 new feature (GUI) ne_setcluster.m when a single cluster is selected and the current slicing object has multiple volumes (4D), the average cluster timecourse is displayed in the timecourse window
05/13/2011 new feature AFT::SliceData3D the method now also allows to return a (2D/within-slice) gradient image on-the-fly this can be useful for instance to check the registration quality; the feature is available from the main UI via the 'g' key (or the SHIFT + 'g' combination for the underlay object)
05/13/2011 enhancement (GUI) ne_cm_updateuis.m now the contrast manager updates other UIs (beta plotter for now) when the configuration changes before the beta plotter needed to be re-opened to reflect the changes
05/12/2011 new feature (GUI) ne_markclusters.m clusters can now be marked as an Underlay object (of type RGB HDR) this allows to show RGB-based ROIs (comparable to BrainVoyager's functionality) on top of the actual gray-scale data; to invoke this feature, the resolution value has to be entered as a negative number, e.g. -3 for a 3mm resolution but using the new RGB overlay
05/11/2011 new MEX function psetdists.c/.m compute distances between a set of points
05/11/2011 new feature (GUI) ne_setglobaltrf.m the global transformation parameters (display translation, rotation, and scaling), as well as the sliced object's transformation parameters can now be set via using modifier keys and hold-dragging the mouse this works in parallel with the surface rendering transformation adaptation (SHIFT → translation, ALT → zoom, SHIFT + ALT → rotation; add CTRL for sliced object's transformation); the sliced object's transformation can be reset to the identity matrix by pressing CTRL and 'r'
05/11/2011 new xff method AFT::VOITimeCourse the code of VTC::VOITimeCourse has been overhauled and adapted so that it now also works with (3D and) 4D Analyze/NIftI and multi-volume AFNI BRIK/HEAD files the advantage is that this allows to apply VOI coordinates directly to NII (and HEAD) objects; for compatibility reasons, the original method has been renamed to VTC::VOITimeCourseOrig
05/11/2011 enhancement transio/buffer.m a new functionality (buffering) has been introduced, which allows to temporarily buffer one indexing expression (e.g. one volume out of a multi-volume transio object), so that subsequent calls to, e.g. AFT::SliceToTransimg do not require to re-access the file a new ini directive/setting has been added, which for the time being is set to false but can be enabled in _core/config/xff.ini in the Behavior.BufferGLMData setting
05/11/2011 new method transio/reshape.m the overloading of reshape has been added
05/11/2011 enhancement ne_clonefile.m this now also works for statistical objects together with the new menu entry (File → Clone stats object) this allows to use several beta plots on the same GLM data (Matlab recognizes that only one copy of the underlying data is kept in memory!)
05/10/2011 enhancement neuroelf_setup.m the pre-compiled libraries (MEX files) are now available for Mac OSX 10.5 (Leopard) and 10.6 (Snow Leopard) separately the default behavior of MEX compiling is to use the most up-to-date OS SDK, which are not compatible; if the MEX files cannot be compiled, the OS version will be auto-detected and the correct libraries copied (that means that if you wish to use a shared installation for OS 10.5 and 10.6 machines, you should install on a 10.5 machine!)
05/09/2011 bug fix ne_setcsrfstatmap.m the behavior of when the Scenery and SMP list are enabled and auto-filled with objects has been improved before some UI elements could become locked (disabled) if no map was available for a surface
05/09/2011 bug fixes ne_glmplotbetasup.m the handles for text output could be plotted to the wrong axes, this has been fixed as far as I could find out, this is a Matlab bug, but a workaround has been put in place
05/09/2011 enhancement (GUI) neuroelf_gui the height of the main UI has been reduced by about 20 pixels to better fit a regular WXVGA (WIDTH-by-768) display this also allows to use NeuroElf under 1024×768 resolution
05/07/2011 enhancement fmriquality.m the quality data is automatically written into a MAT file if the input is a single object (VTC or NII file) the target filename is the source filename with extension “.fq”
05/07/2011 bug fix writemat.m certain combinations of inputs would lead to incorrect files being written
05/06/2011 enhancement (GUI) neuroelf_gui the way cluster tables are sorted is now configurable via the File → Options → Clustertable sub-menu
05/06/2011 enhancement clustervol.m, AFT::ClusterTable cluster table creation now supports optionally printing sub-cluster sizes (not the default) this change was introduced to make cluster tables more adhering to the community standard in publishing
05/02/2011 enhancement @xfigure/xfigure.m autodetect font sizes on first instantiation
04/30/2011++ compatibility *.m, *.bff, *.tff initial compatibility with Octave (v3.4.0) was reached major changes in files: * the try, TRYBLOCK; catch eo, CATCHBLOCK; end syntax was altered (in all files using try/catch) allowing use of this construction in Octave * some residual problems were removed (e.g. characters following the continuation operator, …; stray short-circuit comparison operators were converted; where necessary, checks for whether the underlying system is Matlab or Octave were put in place; work-arounds for some minor bugs in Octave were added)

Release v0.9b (06/15/2010 through 04/28/2011)

Date of change Type of change Changed Object Description Comments
04/28/2011 enhancement (GUI) ne_render_ex.m if the window used for rendering is closed, the procedure is canceled this is also useful to keep a certain state as the final one
04/28/2011 new function montagemix.m mixes two RGB images (of same size) according to a mixing strategy replaces code prior used in ne_render_ex, ne_setsatslicepos, ne_setslicepos, and ne_vismontage_create_ex
04/28/2011 enhancement (GUI) ne_mdmvoicondavgup.m now also supports plotting the (RFX) difference of two selected conditions (or collapsings) this can be useful to assess inferentially whether or not two conditions elicit a differential response across subjects
04/27/2011 enhancement neuroelf_makefiles.m now also a “segback_hull” object is written that represents just the back-projected border of the high-resolution SRF objects this object can be used to “enclose” other content, such as the ICBM DTI atlas as RGB image, when set as an underlay
04/27/2011 enhancement (GUI) ne_setslicepos.m now supports an “underlay” object for the SliceVar object this allows to set a separate object that is rendered “below” the currently selected slice object, which can be used for enhanced drawing of ROIs or visualizing two datasets in blended mode; also supported in ne_setsatslicepos, ne_vismontage_create_ex, and ne_render_ex
04/26/2011 enhancement (format) HDR.bff support for RGB and RGBA data the support is read-only at the moment! but the most important methods (AFT::SampleData3D, AFT::SliceData3D, AFT::SliceToTransimg) are supported with this datatype
04/26/2011 new xff method HDR::InhomogeneityCorrect inhomogeneity correction for Analyze/Nifti objects mimics VMR::InhomogeneityCorrect
04/24/2011 new xff method AFT::ExportNifti exports a BrainVoyager format (CMP/GLM/VMP/VMR/VTC/VDW) into a Nifti object this method keeps some crucial information (e.g. Maps) available for subsequent use, also integrated into the GUI
04/24/2011 enhancement (GUI) ne_vmp_createsmp.m uses the new AFT::CreateSMP a new button is available next to the list of stats maps which then only converts the current selection into SMP format
04/24/2011 new xff method AFT::CreateSMP converted the VMP::CreateSMP method into a method valid for other objects (CMP/HDR/HEAD/GLM/VMP) gives more flexibility to what objects can be used to directly visualize on a surface mesh
04/23/2011 bug fix @transio/size 2-output format not supported now also supports calls like
[M, N] = size(transio_object);
04/20/2011 bug fix (GUI) ne_cm_delgroup.m deleting one of the last two groups now permanently removes the group definition the user is asked whether or not he/she is certain to perform this action
04/19/2011 enhancement (GUI) neuroelf_gui added the files from the _files/colin sub-folder to the main File menu for fast access
04/18/2011 enhancement (GUI) ne_glmbeta*.m supports several new features among the new features are: quadratic fit to covariate, labeling of subjects in plots, trend lines, confidence ellipses, separate plot of groups (scatter), setting of scatter symbol, etc.
04/17/2011 enhancement (GUI) ne_clustertable.m the table is now printed on the console in minimized state to simplify reading cluster coordinates
04/17/2011 bug fix heartbeats.m under certain conditions, the list of beats would have a number of values that led to an error message
04/16/2011 new function neuroelf_splash.m this function uses a timer object to cycle through the splash images, which allows “parallel” setup and image updates
04/15/2011 bug fix (xff code) HDR::CoordinateFrame bug fix for the Slice1 and SliceNCenter values
04/15/2011 bug fix colorpicker.m for certain values, the “reset colors” function would lead to an error the problem was introduced when the hsv2rgb function was replaced with the hsvconv MEX function
04/15/2011 enhancement (GUI) ne_statsmenu.m, ne_voimenu.m in minimized state, the GUI now allows access to the stats maps and VOI clusters via a main menu item
04/14/2011 enhancement VMR::CleanVMR the function now uses compiled routines and is a little more robust
04/14/2011 enhancement pmbfilter.m bias cutoff value and contiguity restriction added to options
04/14/2011 enhancement dcm2nii.m format option added to the opts argument
04/14/2011 enhancement singletrialprts.m added optional argument to force that each protocol has all (also empty) conditions this is required when the resulting SDM files are to be used with BrainVoyager QX!
04/13/2011 enhancement (GUI) ne_mdmvoicondavgup.m added support for weighted RFX (where the weight is computed by the available datapoints per subject at any given time)
04/13/2011 enhancement (GUI) importrfxglmfromspms.m many options added to the function (incl. automatic import of VTCs, support for color settings, etc.)
04/12/2011 new function onesamplet.m one-sample t-test for data where 0-values can be discarded
04/12/2011 new function moveinlist.m compute new indices of items moved within a list as well as a function for re-ordering
04/12/2011 bug fix dicom2nii.m spatial vectors were incorrectly set in the NII output, leading to shearing
04/10/2011 enhancement (GUI) ne_setcstatmapprops.m now also the DF1/DF2 as well as map type parameters are correctly handled same code added to ne_setcstatmapformula
04/09/2011 enhancement all M-files error handling (try/catch) now uses a caught MException object (removing a lot of LINT messages in the code)
04/07/2011 enhancement SRF::Reduce now also allows to reduce irregular meshes using the preduce function of Matlab
04/06/2011 bug fix newhdr.m now the correct QFormCode and SFormCode values are set in the header structure
04/04/2011 enhancement renderlayers.m the M file now also contains a replacement for the MEX code, so that this function can be used prior to compiling the MEX files
04/02/2011 enhancement (GUI) ne_keypress.m on surface-based satellite windows, the background color can now be altered using the 'b' key
04/01/2011 new function cellipse.m compute coordinates for confidence-interval ellipses for bi-variate data
03/30/2011 enhancement (GUI) ne_keypress.m keypress options have been added for satellite windows (slice and surface display in separate UIs): SHIFT+m advances the index of a displayed VMP map by one (if and only if exactly one map is selected), and SHIFT+s allows to save a screenshot (using EPS format gives high quality surface rendering options!
03/30/2011 new function (GUI) ne_screenshot.m this function will save a screenshot of a figure or axes object of the GUI with different formats saving an axes as EPS gives high quality rendering options, e.g. in PhotoShop, etc.
03/30/2011 enhancement SRF::Smooth, SRF::Morph the methods now allow to suppress visual output (rendering) as a speed gain (for scripted processing)
03/30/2011 enhancement neuroelf_makefiles.m added back-projection VMR from hires SRF files as well as hires brain-peeled versions of colin_brain.vmr
03/30/2011 bug fix clustervol.m the center-of-gravity now correctly uses the absolute value of the stats before it would use the signed value, which in case the cluster contained both negative and positive stats would be incorrectly weighting coordinates (and could even lead to NaN outcome!)
03/29/2011 bug fix (xff code) VTC::MeanStd the method now correctly sets thresholds as type double this now complies with the type of argument required for the thresholding functions
03/29/2011 enhancement AFT::SetScalingWindow this method now also works for MSK objects the scaling window is set to 0 through 4/3 so that masked voxels are shown in light gray
03/29/2011 bug fix spm5_preprojobs.m removing volumes from 4D NIftI files with repeated processing should work reliably now if data was already in the folder, the function would use the found data but then remove the volumes again
03/29/2011 new function (GUI) ne_mdmvoicondavg.m this uses the MDM::VOICondAverage method and displays averaged time courses in its own UI extracted timecourses can be saved into a datafile for later re-load
03/28/2011 new xff method MDM::VOICondAverage this method extracts time courses of VTCs referenced in an MDM and then computes trial-based average responses using the information found in the MDM's PRTs only works with PRT-based MDM and re-uses MDM::ConditionOnsets, MDM::SDMs, and MDM::VOITimeCourses
03/25/2011 bug fix tcplot.m error bands are now always plotted into the requested axes object if the axes into which the plotting occurred wasn't the current axes (or its parent not the parent figure), error bands were plotted into a new axes
03/24/2011 enhancement AFT::SliceToTransimg the method now allows to flexibly add bar graphs indicating the statistical color range to the last layer when statistical maps are rendered
03/23/2011 enhancement MDM::ComputeGLM this method now re-uses MDM::SDMs this will allow future changes and added features to be used across several functions
03/23/2011 new xff method VOI::CreateMSK this method will create a MSK object with the selected VOIs
03/22/2011 enhancement sdist.m the list of statistical distributions now also comprises 'normcdf' and 'normpdf'
03/22/2011 new function replacerobmean.m replace outliers (in one dimension) with robust mean estimate
03/20/2011 new xff method DMR::Write4DNifti writes out a 4D NIftI file with DMR data
03/18/2011 enhancement AFT::ClusterTable in addition to reporting the peak coordinate in the table, this now also supports reporting the center and center-of-gravity of clusters
03/18/2011 enhancement clustervol.m in addition to reporting the peak coordinate in the table, this now also supports reporting the center and center-of-gravity of clusters
03/18/2011 bug fix alphasim.m if a surface (SRF) was used and the along-the-normal sampling had more than one point, the sampling would always occur at vertex + 1 * normal
03/17/2011 bug fix VTC::VOITimeCourse if the object is using transio, this method now correctly indexes each functional voxel only once for anatomical ROIs this method was likely to produce an error with VTCs using transio VTCData members
03/17/2011 enhancement AFT::CopyObject this method now sets a handle (SourceObject) in copied objects, so that it is possible to follow back to the original
03/16/2011 new xff method MDM::SDMs this method collects and ameliorates all SDMs from an MDM file and returns them in a cell array (either as objects or structs)
03/16/2011 new xff method MDM::ConditionOnsets this method collects all onsets from a PRT-based MDM file and returns a cell array with the Run-by-Condition on/offset matrices
03/16/2011 enhancement PRT::ConditionNames the method now also produces an option second output, the Cx3 colors of the conditions
03/16/2011 enhancement fmriquality.m the detection of foreground and background voxels is now more robust (only relevant in few cases)
03/16/2011 new function ac2vmp.m convert “activation_cluster” MAT files (Tor Wager tools) to BrainVoyager QX's VMP format
03/15/2011 enhancement MDM::VOITimeCourses this method nows calls drawnow after extracting data from each respective VTC so as to keep the UI alive
03/14/2011 bug fix ztrans.m if all values were the same, the function would return NaNs, now it returns 0's instead
03/09/2011 new function singletrialprts.m conversion of a list of regular PRTs to single-trial PRTs (using PRT::ConvertToSingleTrial)
03/09/2011 enhancement PRT::ConvertToSingleTrial the method now tries to create the list of condition names “in order” (across runs and subjects)
03/03/2011 bug fix (GUI) ne_vismontage_create_ex.m images of different types can now be saved before, only JPG images could be saved due to the fix 'Quality' argument
03/02/2011 upgrade (library) libSVM files after libSVM was updated to V3, NeuroElf now has files to run SVM with V2 and V3 code
03/01/2011 bug fix dcmio.m if the value representation was invalid, the file pointer would wrongfully advance two bytes
03/01/2011 bug fix dicom_vr.m for the actual DICOM data, the “unknown” VR was incorrectly translated to 8-bit values
03/01/2011 bug fix createfmr.m mosaic DICOM files were not correctly supported
02/28/2011 new xff method FMR::Write4DNifti writes out a 4D NIftI file with FMR data
02/25/2011 bug fix (GUI) ne_undock.m color and alpha values are now correctly copied from reference objects before, colored SRF objects produced an error when undocked
02/10/2011 enhancement fmriqasheet.m an outlier detection threshold can now be optionally set
02/08/2011 bug fix (xff code) DMR::CoordinateFrame the coordinate frame is now correctly computed before, the origin was not correctly computed
01/27/2011 enhancement readpar.m now also supports partial PAR files (i.e. in case the acquisition was stopped before the end of the run was reached)
01/26/2011 enhancement reccheck.m significant improvement in speed when checking PAR/REC files
12/09/2010 enhancement vtc_concat.m this function required updating to reflect the newly supported (float) datatype in VTCs
12/06/2010 new function newhdr.m create a new HDR/NII object with reasonable defaults
11/23/2010 bug fix AFT::SetScalingWindow NaN values would lead to an error in histcount, fixed
11/23/2010 new xff methods MTC::ApplySSM, MTC::ApplyTSM added methods to resample single-subject MTCs into group-analysis space with fixed number of vertices
11/23/2010 new functions BVQXfile.m, isBVQXfile.m added compatibility functions to re-use BVQXtools scripts
11/22/2010 enhancement robscatter.m added confidence bands to regression line plot
11/21/2010 enhancement (GUI) neuroelf_gui the new icbm2tal is now the standard for looking up cluster peak coordinate locations both icbm2tal and tdclient checkboxes are now enabled by default
11/20/2010 new functions icbm2tal.m, tal2icbm.m conversion from and to TAL from and to ICBM space these functions use pre-computed normalization/warping parameter files derived from the Talairach.nii file using SPM8's segmentation routine, preliminary tests show a highly improved localization of structures with the TD database
11/19/2010 bug fix (xff code) GLM::SingleStudy_tMap while this function could be used for FFX models of any kind, it would compute the D.F. parameter incorrectly, and thus scale the statistical values improperly the bug fixed version now produces the same results as BrainVoyager QX (tested)
11/18/2010 new function auroc.m area-under-ROC computation function supports vectorized input
11/05/2010 new function reccheck.m perform some basic checks on a REC file (of a PAR/REC file pair) computes a mean image as well as a histogram and the peak of the bulk brain data distribution
11/02/2010 bug fix tffio.m wrongly formatted SDM files are now (again) read correctly this bug had been fixed in the past, but was re-introduced after switching the main text-based IO to u8str2double.MEX functionality; this has been fixed by adding an additional flag to the TFF format specification, which, for SDM files, checks for this particular problem
10/27/2010 bug fix psctrans.m, ztrans.m improper values are set to default values for instance where a voxel time course is all zero, psctrans returns all-100 values, and ztrans all-0 values
10/27/2010 new function stoufferz.m implements the Stouffer-Z combination of independent z-statistics into one compound test statistic
10/25/2010 bug fix (xff code) SMP::Smooth the smoothing algorithm has been entirely rewritten and now results are highly comparable to BrainVoyager QX's results prior to the rewrite, the number of vertices had an undue influence, which would make smoothing of SMPs on native (non-resampled) meshes invalid
10/25/2010 enhancement (GUI) GLM beta plotter the beta plotter now supports group naming as well as scatter plots added to bar graphs this enriches the feature set, so that outliers can be more easily spotted when bar graphs of different groups are plotted
10/19/2010 new function combine3danalyze.m combines several 3D Analyze images into one 4D NII volume
10/13/2010 enhancement depcorrt.m support for robust estimation for dependent correlations was added
10/08/2010 enhancement (GUI) spm5_preprojobs support was added for different normalization methods now, also the EPI.nii template can be used, as well as session-by-session normalization (only with the EPI.template)
09/22/2010 enhancement alphasim.m support was added for differentiation between one- and two-tailed statistics
09/19/2010 new UI RFX mediation UI dialog to configure single-level RFX mediation based on a GLM object with configured contrasts and covariates
09/19/2010 bug fix (xff code) GLM::JoinRFX a check was added to assure that the same subject ID does not occur twice in the resulting GLM
09/19/2010 enhancement SDM::CalcBetas the method now heeds the mtc/vtc.RunTimeVars.Discard field and automatically drops indicated time points from the model and data
09/19/2010 enhancement (GUI) neuroelf_gui full support for orientation this now also includes correctly updating the crosshairs, as well as allowing the orientation to be flipped for satellite windows
09/18/2010 enhancement AFT::SliceToTransimg method now supports setting the orientation (n/r) for coronal and transversal slicing
09/18/2010 enhancement (GUI) neuroelf_gui closing a GLM file now closes/updates the contrast manager correctly
09/18/2010 bug fix (GUI) neuroelf_gui clicking the move up/down buttons for maps on a GLM map would ask to delete the selected subject
09/18/2010 bug fix (xff code) GLM::RemoveSubject all fields are updated correctly now
09/18/2010 bug fix (xff code) MDM::ComputeGLM the filtering would only work in combination with the new PPI feature
09/17/2010 enhancement neuroelf_makefiles.m now also white-matter masked (WMmasked) VMR files of the colin_brain and colin_brain_ICBMnorm files can be created
09/17/2010 enhancement (GUI) neuroelf_gui the main UI now also has a brightness/contrast control bar this bar allows to set the minimal (black) and maximal (white) values for display separately for each loaded slicing object
09/17/2010 enhancement minarray.m minarray now also works on logical arrays
09/17/2010 bug fix (xff code) GLM::RFX_tMap for robust regression between-groups, only the last comparison was returned; fixed
09/16/2010 enhancement (MEX) threshlutc.c the function now allows more than 120 colors per tail
09/16/2010 new xff method SRF::UpdateNeighbors neighbors that are hidden (color set to deleted) are removed so that smoothing works properly
09/15/2010 enhancement (GUI) contrast manager the contrast manager now allows to extract contrast covariates from currently selected contrast/VOIs
09/13/2010 enhancement VMP::WriteAnalyzeVol this now fully supports the new NIftI format for SPM5/8 with the extended header
09/09/2010 enhancement flexinterpn_method for up to 3D nearest-neighbor interpolation (without transformation) indexarray is used speed-gain factor between 8 and 12
09/08/2010 new MEX function indexarray.c/.m alternative ways to access an array includes nearest-neighbor interpolation and ranges
09/04/2010 new function mediationpset.m compute paths, standard errors (SE) and t stats on single-level mediation model
09/04/2010 new function fitrobustbisquare_multi.m perform robust regression on multiple models
09/03/2010 new xff method VOI::ToISO apply coordinate transformation from scanner-space to ISO-voxel-space
09/02/2010 enhancement PRT::CreateSDM the PPI-feature now creates un-contrasted interactions before only contrasts could be used
09/01/2010 new xff method AFT::SmoothData3D 3D smoothing of (partial) data allows to set spatial and value ranges
09/01/2010 bug fix (MEX) conv3d.c now correctly discards NaN values when convolving
08/31/2010 new function bstrapbca.m compute BCa boot-strap probability
08/31/2010 new function jksample.m jack-knife sampling indices also creates leave-2-out samples
08/29/2010 enhancement (MEX) isinfnan.h removal of one unnecessary variable
08/29/2010 bug fix (MEX) normcdfc.c the inner loop would process one value too many this could lead to a memory access violation
08/29/2010 enhancement sdist.m added norminv to the distributions
08/28/2010 new function bssample.m boot-strap sampling generator
08/28/2010 new function mmregress.m multiple-model regression wrapper for pinvc and transmul functions
08/26/2010 enhancement (MEX) transmul.c now allows to work over a 3rd dimension useful to compute regression weights and residuals of several models at once
08/25/2010 new MEX function histcount.c/.m 1- and 2-dimensional histogram count with fixed bin width
08/23/2010 new MEX function pinvc.c/.m multi-matrix inversion useful when several models of the same size need to be regressed
08/21/2010 new binary file flatmap.mat flat maps of hires-segmentation are now provided as a convenience to display MNI-based results on a flat map maps are available in native resolution, 160k and 40k vertices resampling
08/14/2010 enhancement (GUI) neuroelf_gui added VMR smoothing support to GUI smoothing allows to specify bounding box, non-integer kernel size and value range of to-be-affected voxels
08/13/2010 new function mtimesnd.m N-dimensional mtimes (along higher dims) replaces the need to apply the mtimes (*) function along those dims
08/13/2010 new function image_rotate.m high-quality interpolation on 2D image rotation supports gray and RGB images as well as additional options for masking
08/12/2010 new MEX function hsvconv.c/.m convert from and to HSV (from/to RGB) faster than Matlab's rgb2hsv and hsv2rgb, less memory requirement
08/11/2010 bug fixes diverse several smaller bugs have been fixed that could cause strange side effects with the alterations introduced earlier
08/11/2010 enhancement (GUI) ne_openfile.m while opening a HDR file, the GUI will detect the object is the result of an SPM statistical test (e.g. t map) and will display the object as a statistical object, not an anatomical object this allows to directly load spmT_xxxx.hdr files in NeuroElf and browse maps interactively as well as creating cluster table and VOIs for later use
08/11/2010 enhancement AFT::ClusterTable the ClusterTable method is now also available for CMP, HDR (Analyze/NIftI) and HEAD (AFNI HEAD/BRIK) objects before, these objects needed to be converted to VMPs to allow clustering
08/11/2010 enhancement colorpicker.m instead of using the lazy Axes→Image overload for the CData field, the function now correctly sets the property in the image handle this reduces the number of caught errors for easier debugging and slight performance gains
08/11/2010 enhancement (formats) GLM.bff, HDR.bff, HEAD.bff a new default RunTimeVars field has been added (Map) this field now stores, for each volume, the same information available in VMP objects, allowing the NeuroElf GUI to treat objects very similarly
08/11/2010 enhancement (formats) FMR.tff, MTC.bff, VTC.bff a new default RunTimeVars field has been added (Discard) this will be used to keep track of volumes to be discarded during regression without the need to actually remove the data (also allowing to re-include the data at a later point in time, and also functions to enter this into the field when they detect problems)
08/11/2010 enhancement xff/subsref+subsasgn if an object has a RunTimeVars sub-field, it can now be accessed transparently e.g. instead of writing 'obj.RunTimeVars.TrfPlus' the syntax 'obj.TrfPlus' will have the same effect
08/11/2010 enhancement AFT::* AFT methods are now only callable for those types they are meant to work on before, methods would not be listed under Help or using the TAB key, but could still be called (sometimes with strange side effects)
08/10/2010 enhancement @xff/xff_requestfile.m the file requestor now retains information about the last selected file type, also a new entry (default) has been created that allows to select the more important formats directly without having to change the filter index
08/10/2010 bug fix (MEX) joinlayers.c/.m for certain combinations of pixel/alpha fields in layers, the code would overwrite the underlying data entirely
08/10/2010 enhancement tffparse.m for expressions, the code is now only stored once
08/09/2010 new xff method AFT::SmoothData3D allows to smooth parts of a dataset
08/08/2010 new GUI ne_render.m configuration of rendering engine
08/07/2010 new GUI function ne_render_ex.m creation of 3D rendered brain+stats views this function works in parallel to ne_vismontage_create_ex but instead stacks the sampled images into one 3D rendered image
08/07/2010 enhancement @transimg/*.m + MEX the transimg class now also allows to store the pixel information as floating point this makes repeated calls to joinlayers (MEX function) show (almost) no rounding errors when joining several layers and returning the values several times
08/06/2010 enhancement VTC::CreateGLM the VTCData is now handled in smaller packets this allows large VTCs with many beta maps to be regressed (otherwise often out of memory errors…)
08/06/2010 bug fixes ne_* GUI functions several smaller bugs fixed those bugs were introduced by splitting the single GUI function into several functions and did not occur before!
08/05/2010 new xff method AFT::SetScalingWindow this allows to set the black-to-white scaling bounds for anatomical projects (HDR, VMR, etc.) the advantage is that, without having to re-write the data, the display can be easily adapted; still needs implementation into the GUI with new set of controls
08/05/2010 function split neuroelf_gui.m GUI function split into sub-functions (in private folder) the function file (neuroelf_gui.m) had grown to over 400kB in size, which made editing slower
08/04/2010 new function bboverlay.m get overlay of bounding boxes from VMR objects
08/03/2010 new function neuroelf_makefiles.m this function creates derivatives of colin.img and colin.vmr files the colin.vmr file is now the only additional file created during neuroelf_setup
08/03/2010 new binary file colin/seg_05mm.mat this file contains a high-resolution segmentation of the colin.vmr dataset (at 0.5mm) together with the new function, neuroelf_makefiles, this allows to create very high quality surfaces in colin-MNI and ICBM-MNI space
08/02/2010 enhancement (MEX) mesh_trimapmesh.c an improved triangle selection is more robust (less likely to mark a vertex as non-matchable)
07/31/2010 new xff method SRF::SetCoordsTriangles this method allows to set vertices and triangles from various sources
07/31/2010 bug fix (xff code) SRF::BackToVMR now the method correctly handles different resolutions and offsets
07/31/2010 enhancement AFT::Browse method now also works for SMP objects
07/31/2010 update (xff code) VMR::DBReco integrating the new MEX version of the code into the xff method
07/30/2010 new MEX function mesh_neighborsarray.c/.m create 2D array with neighbors (for faster computation of certain properties)
07/30/2010 new MEX function mesh_reconstruct.c/.m create surface (vertices, triangles, list of neighbors) from voxel data replaces the code that was formerly part of VMR::DBReco
07/30/2010 enhancement importvmrfromanalyze.m this function now supports creating VMRs in 0.5mm resolution from Analyze/NIftI files directly
07/25/2010 enhancement (GUI) neuroelf_gui.m several functionalities have been fixed now working: painting in altered orientation/transformed version, setting the voxel coordinate, remembering the map selection for VMP/SMPs when switching between objects, setting the threshold from the p-dropdown for surface maps
07/24/2010 enhancement neuroelf_setup.m the function only creates binary files that don't already exist and also creates ICBM-PPM-atlas normalized versions of the colin dataset
07/24/2010 new MEX function applyspmsnc.c/.m apply SPM's _sn.mat normalization to coordinates (both ways) used in the new setup that creates ICBM-normalized colin_*.* files
07/24/2010 enhancement (MEX) quattrans.h now has a second set of variables/functions this is useful in cases where a function has two separate quaternions for multiplication
07/23/2010 enhancement SRF::BackToVMR the back-projection now samples throughout the triangles this leads to a much denser representation of the surface (with configuration “depth”)
07/21/2010 enhancement neuroelf_setup.m the function only creates binary files that don't already exist and also imports a VMR from the now bundled Analyze version of the colin dataset this dataset can be downloaded from the CBU Imaging wiki
07/21/2010 added file colin/colin.hdr/.img I decided to bundle the hdr/img instead of the VMR the VMR file will be created and masked during neuroelf_setup; while this file is slightly larger after compression, it still has the full intensity range, which might improve segmentations, etc.
07/20/2010 altered file colin/sph.mat coordinates for LH and RH are now in new notation (for own function) this allowed to drop the sph80.mat file in the srf folder (coming from BrainVoyager), also coordinates are now saved as uint16 (BV-voxel position * 256), which saves some more space
07/20/2010 re-implementation spheresrf.m create a icosahedron sphere mesh results will differ from BrainVoyager w.r.t. vertex numbering and triangle order!!
07/20/2010 new function dividetrimesh.m divide triangles in a mesh splits each side of the triangle, thus quadrupling the number of triangles (and almost vertices)
07/12/2010 new function flexplot.m flexible plotting ALPHA stage
07/09/2010 enhancement MDM::ComputeGLM the function now reads a pre-existing GLM and updates/add subjects as requested this allows to re-run an RFX-MDM with new subjects without the need to re-run all subjects, especially useful for robust regression!
07/08/2010 new function vtcregressout.m convenience function that reads multiple RTC/SDM files and saves the resulting VTC
07/08/2010 new xff method VTC::RegressOut regressing out of nuisance regressors from a VTC
07/08/2010 new xff method VTC::MeanSRFTimeCourse extract the mean time course of a surface from a VTC this is usefule e.g. for regressing out a global gray-matter time course
07/07/2010 bug fix spm5_preprojobs.m skipping with 4D NII files now does the right thing! before, volumes were removed but then, the same number of volumes was additionally skipped…
07/07/2010 enhancement showspmrparams.m the default colors are now as in SPM's display
07/06/2010 new xff method AFT::Info getting additional information on objects (for now only PRT, but will be extended) this is useful for regularly occurring tasks, such as getting an idea of the distribution of onsets in a PRT across conditions, etc.
07/06/2010 enhancement SDM::AddFilters now supports to add filters only to “part of” an SDM (in time) useful when the underlying PRT represents several sessions (e.g. after concatenation; potentially better for robust regression on the first level to have an improved initial regression outcome which then determines the outliers!)
07/06/2010 enhancement MDM::ComputeGLM the method now supports orthogonalization of the nuisance regressors (also with the filter) same option added also to MDM::ComputeVOIGLM
07/06/2010 bug fix (xff code) PRT::Concatenate the TR was not correctly taken into account the bug was relevant when the resolution of time was set to msec
07/05/2010 new GUI functions ne_mdm_*.m a first working version of the MDM → GLM computation has been added currently this is only without options → next snapshot!
07/05/2010 enhancement MDM::ComputeGLM now also the derivatives of the motion parameters can be added to the model (as confounds)
07/05/2010 enhancement findfiles.m the use of '?' as single-character wildcard is now supported MATLAB's internal dir function does not support the '?' wildcard on all (any?) systems, this is now supported
07/05/2010 bug fix rbalign.m if the second argument wasn't double, an error occurred fixed
07/05/2010 new xff method MDM::ComputeVOIGLM perform GLM regression (OLS or robust) on time courses extracted from VOIs internally calls mdm.VOITimeCourses
07/05/2010 new xff method GLM::GenerateMDM for a given RFX GLM file/object, an MDM can now be (re-) generated useful to re-run a model without having the MDM file at hand
07/05/2010 bug fix (format) GLM.bff when only the header was to be loaded, a syntax error would occur fixed
07/05/2010 bug fix (format) HDR.bff better support for Analyze DataTypes datatypes for uint16 and uint32 were only supported for the old enumerator, now the new values (512, 768) are supported
07/05/2010 new xff method VTC::Write4DNifti saves the content of a VTC as a four-dimensional NIftI file
07/05/2010 new xff method MDM::VOITimeCourses extract time courses of VOIs from all linked VTCs of an MDM
07/04/2010 new xff method MDM::Subjects returns the subject IDs of functional files in an MDM the list is either unique (in the order of first subject appearance) or represents the ID of the functional file (via argument to the method)
06/29/2010 enhancement GLM::RFX_rMap better automatic naming of maps; allows to add several covariates into one model
06/28/2010 new xff methods MAT::* added NTT object methods to MAT object (for compatibility)
06/28/2010 new figure (TFG) neuroelf_physio.tfg GUI-based configuration of physio data processing very early stage
06/28/2010 enhancement heartbeats.m error handling has been improved and additional pre-calculations have been added
06/28/2010 enhancement fmriqasheet.m added a second parameter to set the outlier detection threshold from the different criteria
06/25/2010 enhancement MDM::ComputeGLM mdm.ComputeGLM now passes all options transparently to PRT::CreateSDM (e.g. HRF shape, etc.)
06/24/2010 filename change obj.matobj.rtv the file storing the RunTimeVars content has been renamed to XFF_OBJECT.rtv this was done to cope with the fact that MAT files can now be loaded and saved as xff objects
06/24/2010 new xff format MAT.bff load MAT files into an xff object some minor changes in bffio.m and xff.m have been made to cope with this new format
06/24/2010 new function writemat.m write a MAT file with specific variable names/content
06/24/2010 new function fieldsize.m returns the size (in bytes) of one or several fields of a struct
06/24/2010 name correction MAP.bff renamed NameOfSSMFile to NameOfSDMFile the field name for the design matrix file was wrongly named
06/24/2010 bug fix (format) PRT.tff when FileVersion was set to 3 and ParametricWeights to 0, conditions were not read at all while this is compliant with BrainVoyager's way to write PRT files, it doesn't make sense to prohibit this combination of values
06/23/2010 enhancement MAP::CreateVMP now, also lanczos3 is supported as interpolation (for really high-quality/no-smoothing interpolation)
06/23/2010 bug fix spmshowrparams.m when trying to read from 3D volumes in multiple runs the function would produce an error fixed some internal counting variable (being set to 0 incorrectly between runs
06/22/2010 bug fix (xff code) VMR::ApplyTRF the difference in coordinate system origin was not taken into account see vmrspmcoreg, the fixed version was tested against BrainVoyager QX v2.1.2 yielding identical results using lanczos3 interpolation method when compared to BV's sinc interpolation
06/22/2010 bug fix vmrspmcoreg.m the difference in coordinate system origin was not taken into account BrainVoyager applies rotations (in VMR space) around TAL coordinate [0.5, 0.5, 0.5] (to account for the fact that datasets usually have even-numbered dimensions, e.g. 256-by-256-by-256 for VMRs)
06/21/2010 bug fix custom_pwelch.m corrected a bug that could lead to missing a window when sliding
06/20/2010 added option ACQ/NTT::SampleData another input argument, ui, was added to specify a method of up-sampling interpolation instead of the default (cubic spline), the user can now also use linear and nearest neighbor interpolation for display
06/20/2010 enhancement (MEX) flexinterpn.c added support for variable kernel windows per dimension this allows both a 4D data block to be smoothed in only three of four dimension and also to correctly apply a temporal filtering kernel in only one of several data dimensions
06/20/2010 feature request plotcurves.m added support for “find peak-in-window keyboard shortcut”
06/20/2010 enhancement resampleaa.m altered the cubic+smoothing window to be of proper width, adaptive gaussian window size larger gaussian windows are now no longer resampled to 4096 samples per kernel bin, which allows to downsample a large set of data (e.g. 20 minutes of recording) for display in very little time
06/19/2010 enhancement prefilter.m added post-filtering step and improved argument syntax all lengths, etc. are now given in the time domain (not in samples)
06/19/2010 overhaul rework plotcurves.m/.tfg added features: zooming, spot moving, variable access, filtering, etc. major work on this function; please update to SNAPSHOT if you need it!
06/18/2010 bug fix (MEX) flexinterpn.c the kernelsize was restricted to 127 (datatype signed char) while this is enough for any standard interpolation, when the function is used to smooth/resample with large kernel sizes > 127 elements, it would return zeros; the datatype used now is signed short allowing kernel sizes of up to 32767 (should be enough for any resampling scale!)
06/18/2010 new xff method NTT:Resample mimicking ACQ::Resample
06/18/2010 new xff method NTT:Filter mimicking ACQ::Filter
06/18/2010 new xff method NTT:ChannelData mimicking ACQ::ChannelData
06/18/2010 bug fix (xff code) AFT:ReloadFromDisk for objects that need their file format known (generic extension), the file format (primary extension) is now passed to xff on reload this fixes the problem with reloading generic NTT (and some other) data files
06/17/2010 GUI improvements plotcurves.tfg resizing dialog, adding variable labels/edit fields and overview axes object
06/17/2010 new xff method ACQ::Filter passing ACQ channel data over to prefilter
06/17/2010 new xff method ACQ::Resample passing ACQ data over to resampleaa
06/17/2010 new xff method ACQ::ChannelData returns channel data from either Channel(C).Data or RawData(C, :) correctly takes Scaling into account; stores Result in Channel(C).Data if necessary
06/17/2010 new function prefilter.m pre-filters a physiological measurement channel/data using the first and second discreet derivative to find spiky areas and remove those
06/17/2010 new function resampleaa.m resampling with anti-aliasing filter uses flexinterpn_method, flexinterpn and smoothkern
06/17/2010 bug fix fmriquality.m if no progress bar object was created, the motion detection would produce an error the error is caused by a missing variable from an if/else/end statement earlier
06/17/2010 enhancement fmriqasheet.m the output of the non-motion-parameters call/struct has been improved to use the entire figure space
06/17/2010 bug fix acsvread.m now over-long rows don't produce an error for struct output
06/16/2010 renaming windsorize.m → winsorize.m corrected the name of the function to conform with the actual procedure name the person whom this is named after is Charles P. Winsor
06/16/2010 correction (xff code) PRT::CreateSDM the PRT::CreateSDM method showed optional parameters .regi and .regni in the help, but those were never actually processed while adding regressors of (no) interest to an existing SDM is simple, it might yet be good to have this option working for scripting purposes; bug/missing feature found by Fraser Smith
06/15/2010 bug fix (xff code) GLM::RemoveSubject group subject indices are now correctly patched prior to the bug, the subject indices in the configured groups in .RunTimeVars were not updated correctly

Release v0.9a (05/17/2010 through 06/15/2010)

Date of change Type of change Changed Object Description Comments
06/15/2010 enhancement (code) neuroelf_gui.m improvement to accept column names for covariates in a .mat files a covariate .mat file can now contain two variables, a table and a list of column names (cell array)
06/15/2010 bug fix (xff code) GLM::RFX_rMap the function now correctly accepts a subject selection from the contrast manager UI
06/14/2010 enhancement (code) heartbeats.m added two more options, plotfreq and skewdt allowing to set the samples/second for the final plot and also the factor to compute the detection threshold from the skew value
06/11/2010 new MEX function normcdfc.c/.m normal cumulative distribution function
06/11/2010 bug fix (code) spmmat2sdm.m multiple sessions are now correctly supported in case of multiple sessions (very often the case), the row and column indices from which the SDMMatrix was extracted from the xX.X field in the SPM.mat structure were wrong; this has been fixed. Additionally, the names of multiple sessions now correctly uses an underscore instead of a hyphen character to separate subject ID from session number (this has also been changed in spmmat2prt for having equal output names)
06/10/2010 renaming bfastica.m → ne_fastica.m the function bfastica was renamed to ne_fastica this change was done to reflect the toolbox name
06/10/2010 bug fix (xff code) GLM::RFX_tMap the subsel field (which was used by the neuroelf_gui) was not supported by this method; this is now fixed
06/10/2010 bug fix (xff code) PRT::CreateSDM added full support for real event-related designs (stimulus length = 0) prior to this, such events were discarded instead of modeled; for those events, a default length (default value 100ms) can be given as a new option
05/31/2010 new GUI feature neuroelf_gui.m added the requested “echo mode” (important calls to functions and methods are printed in the Matlab prompt as templates for creating scripts per request of Nick Ketz
05/31/2010 new GUI menu item neuroelf_gui.m/.tfg added a menu item that requests user options and then calls vmp.CreateMSK if the currently selected stats object is a VMP with at least one selected map per request of Ethan Kross
05/31/2010 new xff method VMP::CreateMSK ability to create a BrainVoyager QX compatible MSK object from a (sub-) selection of maps in a VMP per request of Ethan Kross
05/30/2010 extension (code) @*/any2ascii any2ascii support added for transimg, xff, and xfigure this allows to use the general any2ascii routine with variables (structs) that have one of those object types embedded
05/30/2010 enhancement (code) tffio.m implementation of u8str2double into tffio reading of large text tables (SDM, FBR) should be much faster, given that tffio now uses u8str2double instead of eval
05/30/2010 extension (MEX) u8str2double.m the function now accepts two additional parameters (both must be given or none), number of rows and number of columns, which also skips the first pass to detect the number of both; in this case, the function also returns how many characters remain at the end of input stream; also the function now supports input of char arrays changes made for compatibility with tff input and eval, slight decrease in speed (more checks, etc.) but still faster than eval for larger tables
05/28/2010 new file format NTT.bff this format is used to read in large text-based files uses the new u8str2double MEX function, supports variable header lines (up to 16384 bytes) at the beginning of file, information stored in .Header struct; necessary addition to xff.m: format can be forced for files with generic extension as second argument: obj = xff(filename, format);
05/28/2010 new MEX function u8str2double.c/.m this function parses a large text-based table (stored in a uint8 variable!) about 8 times faster than Matlab's internal function (used by textread), support for “short rows” (values set to NaN), useful if last row is incomplete
05/28/2010 GUI figure + code heartbeats_cleanup.tfg the UI for the cleanup of heartbeats now has several additional features: buttons for previous window, remove all feature (for noisy data), small overview time-course plot with noise estimate and quick-jump function
05/28/2010 bug fix (method) VTC::ICA prior to the fix, the number of MapParameters was incorrectly set to the number of components
05/27/2010 bug fix (function) tcplot.m corrected the use of one of Matlab's internal graphics handle settings
05/27/2010 new function heartbeats.m detect the heartbeats (and heart-rate) from an ECG channel data stream includes own UI to manually correct flaws
05/25/2010 new feature VTC::CrossCorrelate now supports the .lag flag in options, useful when the auto-correlation of a VTC is to be computed simply use a call such as vmp = vtc.CrossCorrelate(vtc, struct('lag', 1));
05/24/2010 new file format NLF.bff NeuroElf's own file format to store a variety of objects (voxel data, surfaces, stats, experimental design, etc.) this is still very preliminary and not yet functional! already applied changes to AFT::BoundingBox, aft::ConvertToNLF, AFT::GetVolume, AFT::GetVolumeSize, AFT::IntensityMask, AFT::SampleBVBox, AFT::SampleData3D, AFT::SampleTalBox, AFT::SetOrientation, AFT::SliceData3D, AFT::SliceToTransimg; also added NLF::CoordinateFrame
05/24/2010 new function showspmrparams.m visualizes the realignment parameters as detected by SPM's preprocessing reads either the quaternion transformations from the volumes that were motion-estimated (usually aVOLUMENAME.hdr/nii), but also supports using the information from the rp_VOLUME.txt files (which does not contain the motion between but only across runs, however!)
05/24/2010 internal rename neuroelf_gui.m internally renamed all functions from bt_NAME to ne_NAME simply for consistency
05/22/2010 new function vmrspmcoreg.m create a BrainVoyager-compatible TRF file to apply the coregistration transformation between two VMRs per request of Jan Willem Koten and Hannes Schwenke, new file: _files/spm/spm5_coreg.mat
05/21/2010 new feature SRF::AddMarkers the method now also supports unit-cubes as shapes new file: _files/srf/unitcube.srf
05/21/2010 extension smoothkern.m limitation for kernel sizes increased necessary to generate larger 1-D kernels
05/21/2010 new file format ACQ.bff added support for ACQ (Acqknowledge) files up to version 3.9.7 documentation used available from
05/21/2010 bug fix (method) PLP::PlotOnSurface better support for user-specified SRF objects before, the provided colin_LH and colin_RH objects were still displayed
05/21/2010 bug fix (method) PLP::PlotOnSlice corrected the lookup of axes object and children was necessary after switching the default in xfigure to hide children from findobj
05/20/2010 new feature @transio/any2ascii.m any2ascii is overloaded for transio, so that objects can be stored in ASCII representation
05/20/2010 new xff method XFF::ClearObjects the xff (root) object can now clear objects specified by a filename pattern
05/20/2010 GUI feature (code) neuroelf_gui.m button and code added that allows to jump to the nearest peak (first) voxel the list of voxels to consider is taken from the list of VOIs, not the current statistical map!
05/20/2010 GUI layout (icon) trash.tif added a red X to the trashcan icon suggestion by Hedy Kober to make the icon more distinguishable
05/20/2010 GUI layout (figure) neuroelfbasic.tfg added the split local maxima option as checkbox to the GUI change required layout rearrangement
05/20/2010 feature addition findfirst.m added the non-MEX code, so that findfirst works (even if slower) also when the compiled file does not exist
05/20/2010 bug fix renamefile.m changed the internally used mechanism to rename files (for Windows) on Windows 7 machines, the usage of the shell based rename command is problematic (only works if the folder is not overloaded in a user's virtual storage
05/18/2010 bug fix tempfilter.m nuisance regressors are now better checked for validity (before it could happen that badly prepared nuisance regressors would invalidate the filtering)
05/18/2010 new xff method SDM::ShowDesign SDM::ShowDesign visualizes the design matrix of a single session in one of three ways: a) gray scale image (with time running from top to bottom and regressors from left to right; brighter spots being higher values; this is the SPM-typical way to show a design matrix), b) orthogonality information (demonstrating the high-dimensional angle between regressor (white: completely orthogonal, black: completely collinear), c) as time-course plots (time running from left to right; regressors ordered top to bottom; incl. a legend) added option to MDM::ComputeGLM to show each design matrix while the GLM is computed
05/17/2010 feature addition flexinterpn_method.m added the capability to apply a rotation to a two-dimensional matrix (before only possible with 3D data), the rotation parameters must still be working on the 2nd and 3rd dimension; internally, the input will simply be dim-shifted
05/17/2010 feature addition initialalignment.m added the capability to work on two VMRs (instead of VMR and FMR), allowing to run the function to estimate the initial alignment (IA) file between two VMRs
neuroelf_changelog.txt · Last modified: 2014/06/18 18:26 by jochen