This is an old revision of the document!
Table of Contents
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.)
- type of object (xff file format, xff method, function, help, etc.)
- changed object (specific filename)
- brief description (what exactly has changed)
- comments (where applicable)
Motivation
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.
Requirements
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.
Changelog
Release v0.9c (04/29/2011 through ...)
Date of change | Type of change | Type of object | Changed Object | Description | Comments |
---|---|---|---|---|---|
05/31/2011 | enhancement | xff method | 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 method | 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 | function | mrmanova | 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 | GUI menu + ne_setoption | 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 | function | harmmean | compute the harmonic mean of a numeric variable across a selected dimension | |
05/30/2011 | enhancement | GUI + xff methods | GUI functions + AFT::SetColors, etc. | the GUI now supports visualizing maps stored in AVA (Anova result) files | |
05/29/2011 | enhancement | xff class | xff/xff | as an enhancement to the xff class, syntax such as h = xff('path/pattern*.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 method | 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 | xff method | AFT::SetScalingWindow | the histogram now correctly reflects the scaled data | |
05/27/2011 | enhancement | xff class | xff | 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 | |
05/26/2011 | new feature | basic class | transio + methods | 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 | function | sdist | 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 | function | newnatresvmp | 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 | xff method | 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 | UI+function | ne_vmp_threshmaps | 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 | xff method | 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 method | xff method | SRF::ApplySPMsn | apply SPM-based normalization to SRF file | |
05/20/2011 | added feature | UI+function | 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 | xff methods | 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 method | 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 method | 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/17/2011 | enhancement/bug fix | function + xff method | ne_mdmvoicondavg + 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 | added feature | UI+function | ne_loadcluster | now also supports loading the files supported by VOI::ImportCluster | |
05/15/2011 | new method | 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 method | 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 | added feature | UI | ne_setcluster | 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 | added feature | xff method + UI | 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 | UI+function | ne_cm_updateuis | 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 | UI+function | ne_markclusters | 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 feature | UI+function | ne_setglobaltrf | 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 method | 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 methods | transio/buffer | 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::Behavior.BufferGLMData |
05/11/2011 | new method | transio method | transio/reshape | the overloading of reshape has been added | |
05/11/2011 | enhancement | function | ne_clonefile | 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 | function | neuroelf_setup | 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 | UI | ne_setcsrfstatmap | 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 | UI | ne_glmplotbetasup | 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 | UI | 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 | function | fmriquality | 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 | function | writemat | certain combinations of inputs would lead to incorrect files being written | |
05/06/2011 | enhancement | UI+function | neuroelf_gui | the way cluster tables are sorted is now configurable via the File → Options → Clustertable sub-menu | |
05/06/2011 | enhancement | method+functio | 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 |
04/30/2011++ | compatibility | functions+formats | *.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 | Type of object | Changed Object | Description | Comments |
---|---|---|---|---|---|
04/28/2011 | enhancement | UI + function | ne_render_ex | 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 | function | montagemix | 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 | UI + function | ne_mdmvoicondavgup | 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 | function | neuroelf_makefiles | 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 | UI function | ne_setslicepos | 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 | file 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 method | xff method | HDR::InhomogeneityCorrect | inhomogeneity correction for Analyze/Nifti objects | mimics VMR::InhomogeneityCorrect |
04/24/2011 | new method | 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 | UI function | ne_vmp_createsmp | 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 method | 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 | method | @transio/size | 2-output format not supported | now also supports calls like [M, N] = size(transio_object); |
04/20/2011 | bug fix | UI function | ne_cm_delgroup | 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 | UI menu | NeuroElf GUI | added the files from the _files/colin sub-folder to the main File menu for fast access | |
04/18/2011 | pre-release | toolbox | n/a | v0.9c pre-release packaged, build 11041812 | |
04/18/2011 | enhancement | UI + function | ne_glmbetaplot ++ | 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 | UI function | ne_clustertable | the table is now printed on the console in minimized state to simplify reading cluster coordinates | |
04/17/2011 | bug fix | function | heartbeats | under certain conditions, the list of beats would have a number of values that led to an error message | |
04/16/2011 | new function | function | neuroelf_splash | 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 method | HDR::CoordinateFrame | bug fix for the Slice1 and SliceNCenter values | |
04/15/2011 | bug fix | function | colorpicker | 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 | UI function | ne_statsmenu + ne_voimenu | in minimized state, the GUI now allows access to the stats maps and VOI clusters via a main menu item | |
04/14/2011 | enhancement | xff method | VMR::CleanVMR | the function now uses compiled routines and is a little more robust | |
04/14/2011 | enhancement | function | pmbfilter | bias cutoff value and contiguity restriction added to options | |
04/14/2011 | enhancement | function | dcm2nii | format option added to the opts argument | |
04/14/2011 | enhancement | function | singletrialprts | 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 | UI function | ne_mdmvoicondavgup | added support for weighted RFX (where the weight is computed by the available datapoints per subject at any given time) | |
04/13/2011 | enhancement | function + UI | importrfxglmfromspms | many options added to the function (incl. automatic import of VTCs, support for color settings, etc.) | |
04/12/2011 | new function | function | onesamplet | one-sample t-test for data where 0-values can be discarded | |
04/12/2011 | new function | function | moveinlist | compute new indices of items moved within a list as well as a function for re-ordering | |
04/12/2011 | bug fix | function | dicom2nii | spatial vectors were incorrectly set in the NII output, leading to shearing | |
04/10/2011 | enhancement | UI function | ne_setcstatmapprops | 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 | 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 | xff method | SRF::Reduce | now also allows to reduce irregular meshes using the preduce function of Matlab | |
04/06/2011 | bug fix | function | newhdr | now the correct QFormCode and SFormCode values are set in the header structure | |
04/04/2011 | enhancement | function | renderlayers | 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 function | ne_keypress | on surface-based satellite windows, the background color can now be altered using the 'b ' key | |
04/01/2011 | new function | function | cellipse | compute coordinates for confidence-interval ellipses for bi-variate data | |
03/30/2011 | enhancement | GUI function | ne_keypress | 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 function | ne_screenshot | 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 | xff method | SRF::Smooth and ::Morph | the methods now allow to suppress visual output (rendering) as a speed gain (for scripted processing) | |
03/30/2011 | enhancement | function | neuroelf_makefiles | added back-projection VMR from hires SRF files as well as hires brain-peeled versions of colin_brain.vmr | |
03/30/2011 | bug fix | function | clustervol | 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 method | 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 | xff method | 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 | function | spm5_preprojobs | 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 function | ne_mdmvoicondavg | 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 method | 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 | function | tcplot | 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 | xff method | 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 | xff method | 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 method | xff method | VOI::CreateMSK | this method will create a MSK object with the selected VOIs | |
03/22/2011 | enhancement | function | sdist | the list of statistical distributions now also comprises 'normcdf ' and 'normpdf ' | |
03/22/2011 | new function | function | replacerobmean | replace outliers (in one dimension) with robust mean estimate | |
03/20/2011 | new method | xff method | DMR::Write4DNifti | writes out a 4D NIftI file with DMR data | |
03/18/2011 | enhancement | xff method | 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 | function | clustervol | 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 | function | alphasim | 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 | xff method | 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 | xff method | 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 method | 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 method | 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 | xff method | PRT::ConditionNames | the method now also produces an option second output, the Cx3 colors of the conditions | |
03/16/2011 | enhancement | function | fmriquality | the detection of foreground and background voxels is now more robust (only relevant in few cases) | |
03/16/2011 | new function | function | ac2vmp | convert “activation_cluster” MAT files (Tor Wager tools) to BrainVoyager QX's VMP format | |
03/15/2011 | enhancement | xff method | 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 | function | ztrans | if all values were the same, the function would return NaNs, now it returns 0's instead | |
03/09/2011 | new function | function | singletrialprts | conversion of a list of regular PRTs to single-trial PRTs (using PRT::ConvertToSingleTrial) | |
03/09/2011 | enhancement | xff method | 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 function | ne_vismontage_create_ex | 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 | MEX functions | svm files | after libSVM was updated to V3, NeuroElf now has files to run SVM with V2 and V3 code | |
03/01/2011 | bug fix | private function | dcmio | if the value representation was invalid, the file pointer would wrongfully advance two bytes | |
03/01/2011 | bug fix | private function | dicom_vr | for the actual DICOM data, the “unknown” VR was incorrectly translated to 8-bit values | |
03/01/2011 | bug fix | function | createfmr | mosaic DICOM files were not correctly supported | |
02/28/2011 | new method | xff method | FMR::Write4DNifti | writes out a 4D NIftI file with FMR data | |
02/25/2011 | bug fix | GUI function | ne_undock | color and alpha values are now correctly copied from reference objects | before, colored SRF objects produced an error when undocked |
02/10/2011 | enhancement | function | fmriqasheet | an outlier detection threshold can now be optionally set | |
02/08/2011 | bug fix | xff method | DMR::CoordinateFrame | the coordinate frame is now correctly computed | before, the origin was not correctly computed |
01/27/2011 | enhancement | function | readpar | 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 | new function | function | reccheck | fast-running basic quality check for REC (as in PAR/REC) files | |
12/09/2010 | enhancement | function | vtc_concat | this function required updating to reflect the newly supported (float) datatype in VTCs | |
12/06/2010 | new function | function | newhdr | create a new HDR/NII object with reasonable defaults | |
11/23/2010 | bug fix | xff method | AFT::SetScalingWindow | NaN values would lead to an error in histcount, fixed | |
11/23/2010 | new methods | xff method | MTC::ApplySSM and ApplyTSM | added methods to resample single-subject MTCs into group-analysis space with fixed number of vertices | |
11/23/2010 | new function | function | BVQXfile/isBVQXfile | added compatibility functions to re-use BVQXtools scripts | |
11/22/2010 | enhancement | function | robscatter | 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 function | function | icbm2tal, tal2icbm | 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 method | 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 | function | auroc | area-under-ROC computation | function supports vectorized input |
11/05/2010 | new function | function | reccheck | 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 | xff function | tffio | 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 | function | psctrans, ztrans | 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 | function | stoufferz | implements the Stouffer-Z combination of independent z-statistics into one compound test statistic | |
10/25/2010 | bug fix | xff method | 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 | function | combine3danalyze | combines several 3D Analyze images into one 4D NII volume | |
10/13/2010 | enhancement | function | depcorrt | support for robust estimation for dependent correlations was added | |
10/08/2010 | enhancement | function+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 | function | alphasim | support was added for differentiation between one- and two-tailed statistics | |
09/19/2010 | new UI | GUI | 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 method | GLM::RoinRFX | a check was added to assure that the same subject ID does not occur twice in the resulting GLM | |
09/19/2010 | enhancement | xff method | 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 main UI | 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 | xff method | AFT::SliceToTransimg | method now supports setting the orientation (n/r) for coronal and transversal slicing | |
09/18/2010 | enhancement | GUI | NeuroElf main UI | closing a GLM file now closes/updates the contrast manager correctly | |
09/18/2010 | bug fix | GUI | NeuroElf main UI | 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 method | GLM::RemoveSubject | all fields are updated correctly now | |
09/18/2010 | bug fix | xff method | MDM::ComputeGLM | the filtering would only work in combination with the new PPI feature | |
09/17/2010 | enhancement | function | neuroelf_makefiles | 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 main UI | 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 | function | minarray | minarray now also works on logical arrays | |
09/17/2010 | bug fix | xff method | GLM::RFX_tMap | for robust regression between-groups, only the last comparison was returned; fixed | |
09/16/2010 | enhancement | MEX function | threshlutc | the function now allows more than 120 colors per tail | |
09/16/2010 | new method | 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 | xff method | VMP::WriteAnalyzeVol | this now fully supports the new NIftI format for SPM5/8 with the extended header | |
09/09/2010 | enhancement | function | 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 | MEX function | indexarray | alternative ways to access an array | includes nearest-neighbor interpolation and ranges |
09/04/2010 | new function | function | mediationpset | compute paths, standard errors (SE) and t stats on single-level mediation model | |
09/04/2010 | new function | function | fitrobustbisquare_multi | perform robust regression on multiple models | |
09/03/2010 | new method | xff method | VOI::ToISO | apply coordinate transformation from scanner-space to ISO-voxel-space | |
09/02/2010 | enhancement | xff method | PRT::CreateSDM | the PPI-feature now creates un-contrasted interactions | before only contrasts could be used |
09/01/2010 | new method | xff method | AFT::SmoothData3D | 3D smoothing of (partial) data | allows to set spatial and value ranges |
09/01/2010 | enhancement | MEX function | conv3d | now correctly discards NaN values when convolving | |
08/31/2010 | new function | function | bstrapbca | compute BCa boot-strap probability | |
08/31/2010 | new function | function | jksample | jack-knife sampling indices | also creates leave-2-out samples |
08/29/2010 | enhancement | MEX header file | isinfnan.h | removal of one unnecessary variable | |
08/29/2010 | bug fix | MEX function | normcdfc | the inner loop would process one value too many | this could lead to a memory access violation |
08/29/2010 | enhancement | function | sdist | added norminv to the distributions | |
08/28/2010 | new function | function | bssample | boot-strap sampling generator | |
08/28/2010 | new function | function | mmregress | multiple-model regression | wrapper for pinvc and transmul functions |
08/26/2010 | enhancement | MEX function | transmul | 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 | MEX function | histcount | 1- and 2-dimensional histogram count with fixed bin width | |
08/23/2010 | new MEX function | MEX function | pinvc | multi-matrix inversion | useful when several models of the same size need to be regressed |
08/21/2010 | new feature | MAT 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 | function + tfg | 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 | function | mtimesnd | N-dimensional mtimes (along higher dims) | replaces the need to apply the mtimes (*) function along those dims |
08/13/2010 | new function | function | image_rotate | 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 | MEX function | hsvconv | convert from and to HSV (from/to RGB) | faster than Matlab's rgb2hsv and hsv2rgb, less memory requirement |
08/11/2010 | bug fixes | diverse | diverse | several smaller bugs have been fixed that could cause strange side effects with the alterations introduced earlier | |
08/11/2010 | enhancement | GUI function | ne_openfile | 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 | method | 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 | function | colorpicker | 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 | xff formats | GLM, HDR, HEAD | 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 | xff formats | FMR, MTC, VTC | 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 overloading | 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 | xff methods | 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 | class function | xff/xff_requestfile | 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 function | joinlayers | for certain combinations of pixel/alpha fields in layers, the code would overwrite the underlying data entirely | |
08/10/2010 | enhancement | function | tffparse | for expressions, the code is now only stored once | |
08/09/2010 | new method | xff method | AFT::SmoothData3D | allows to smooth parts of a dataset | |
08/08/2010 | new GUI | GUI + function | ne_render | configuration of rendering engine | |
08/07/2010 | new GUI function | GUI function | ne_render_ex | 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 class | functions + MEX files | 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 | xff method | 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 | functions | 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 | enhancement | xff method + GUI | 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 | function | neuroelf_gui | 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 | function | bboverlay | get overlay of bounding boxes from VMR objects | |
08/03/2010 | new function | function | neuroelf_makefiles | 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 | 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 function | mesh_trimapmesh | an improved triangle selection is more robust (less likely to mark a vertex as non-matchable) | |
07/31/2010 | new method | xff method | SRF::SetCoordsTriangles | this method allows to set vertices and triangles from various sources | |
07/31/2010 | bug fix | xff method | SRF::BackToVMR | now the method correctly handles different resolutions and offsets | |
07/31/2010 | enhancement | xff method | AFT::Browse | method now also works for SMP objects | |
07/31/2010 | amendment | xff method | VMR::DBReco | integrating the new MEX version of the code into the xff method | |
07/30/2010 | new MEX function | MEX function | mesh_neighborsarray | create 2D array with neighbors (for faster computation of certain properties) | |
07/30/2010 | new MEX function | MEX function | mesh_reconstruct | create surface (vertices, triangles, list of neighbors) from voxel data | replaces the code that was formerly part of VMR::DBReco |
07/30/2010 | enhancement | function | importvmrfromanalyze | this function now supports creating VMRs in 0.5mm resolution from Analyze/NIftI files directly | |
07/25/2010 | enhancement | function + TFG | neuroelf_gui | 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 | function | neuroelf_setup | 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 | MEX function | applyspmsnc | 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 header | 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 | xff method | 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 | function | neuroelf_setup | 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 | binary 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 | binary 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 | function | spheresrf | create a icosahedron sphere mesh | results will differ from BrainVoyager w.r.t. vertex numbering and triangle order!! |
07/20/2010 | new function | function | dividetrimesh | 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 | function | flexplot | flexible plotting | ALPHA stage |
07/09/2010 | enhancement | xff method | 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 | function | vtcregressout | convenience function that reads multiple RTC/SDM files and saves the resulting VTC | |
07/08/2010 | new method | xff method | VTC::RegressOut | regressing out of nuisance regressors from a VTC | |
07/08/2010 | new method | 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 | function | spm5_preprojobs | 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 | function | showspmrparams | the default colors are now as in SPM's display | |
07/06/2010 | new method | 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 | xff method | 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 | xff method | 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 method | 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 | GUI dialog function | function + TFG | neuroelf_gui | a first working version of the MDM → GLM computation has been added | currently this is only without options → next snapshot! |
07/05/2010 | enhancement | xff method | MDM::ComputeGLM | now also the derivatives of the motion parameters can be added to the model (as confounds) | |
07/05/2010 | enhancement | function | findfiles | 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 | function | rbalign | if the second argument wasn't double, an error occurred | fixed |
07/05/2010 | new method | xff method | MDM::ComputeVOIGLM | perform GLM regression (OLS or robust) on time courses extracted from VOIs | internally calls mdm.VOITimeCourses |
07/05/2010 | new method | 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 | xff format | GLM.bff | when only the header was to be loaded, a syntax error would occur | fixed |
07/05/2010 | bug fix | xff 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 method | xff method | VTC::Write4DNifti | saves the content of a VTC as a four-dimensional NIftI file | |
07/05/2010 | new method | xff method | MDM::VOITimeCourses | extract time courses of VOIs from all linked VTCs of an MDM | |
07/04/2010 | new method | 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 | xff method | GLM::RFX_rMap | better automatic naming of maps; allows to add several covariates into one model | |
06/28/2010 | new methods | xff method | MAT::* | added NTT object methods to MAT object (for compatibility) | |
06/28/2010 | new figure | tfg object | neuroelf_physio.tfg | GUI-based configuration of physio data processing | very early stage |
06/28/2010 | enhancement | function | heartbeats | error handling has been improved and additional pre-calculations have been added | |
06/28/2010 | enhancement | function | fmriqasheet | added a second parameter to set the outlier detection threshold from the different criteria | |
06/25/2010 | enhancement | xff method | MDM::ComputeGLM | mdm.ComputeGLM now passes all options transparently to PRT::CreateSDM (e.g. HRF shape, etc.) | |
06/24/2010 | filename change | xff aux file | obj.mat → obj.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 | 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 | function | writemat.m | write a MAT file with specific variable names/content | |
06/24/2010 | new function | function | fieldsize.m | returns the size (in bytes) of one or several fields of a struct | |
06/24/2010 | name correction | xff format | MAP.bff | renamed NameOfSSMFile to NameOfSDMFile | the field name for the design matrix file was wrongly named |
06/24/2010 | bug fix | xff 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 | xff method | MAP::CreateVMP | now, also lanczos3 is supported as interpolation (for really high-quality/no-smoothing interpolation) | |
06/23/2010 | bug fix | function | spmshowrparams | 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 method | 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 | function | vmrspmcoreg | 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 | function | custom_pwelch | corrected a bug that could lead to missing a window when sliding | |
06/20/2010 | added option | xff method | 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 file | 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 | function | plotcurves | added support for “find peak-in-window keyboard shortcut” | |
06/20/2010 | enhancement | function | resampleaa | 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 | function | prefilter | 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 | function + TFG | plotcurves | 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 | potential bug fix | MEX file | 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 method | xff method | NTT:Resample | mimicking ACQ::Resample | |
06/18/2010 | new method | xff method | NTT:Filter | mimicking ACQ::Filter | |
06/18/2010 | new method | xff method | NTT:ChannelData | mimicking ACQ::ChannelData | |
06/18/2010 | bug fix | xff method | 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 | figure improvements | tfg figure | plotcurves.tfg | resizing dialog, adding variable labels/edit fields and overview axes object | |
06/17/2010 | new method | xff method | ACQ::Filter | passing ACQ channel data over to prefilter | |
06/17/2010 | new method | xff method | ACQ::Resample | passing ACQ data over to resampleaa | |
06/17/2010 | new method | 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 | function | prefilter | 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 | function | resampleaa | resampling with anti-aliasing filter | uses flexinterpn_method, flexinterpn and smoothkern |
06/17/2010 | bug fix | function | fmriquality | 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 | function | fmriqasheet | the output of the non-motion-parameters call/struct has been improved to use the entire figure space | |
06/17/2010 | bug fix | function | acsvread | now over-long rows don't produce an error for struct output | |
06/16/2010 | renaming | function | windsorize → winsorize | 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 | help/feature correction | xff method | 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 method | 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 | Type of object | Changed Object | Description | Comments |
---|---|---|---|---|---|
06/15/2010 | enhancement | function | neuroelf_gui | 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 method | GLM::RFX_rMap | the function now correctly accepts a subject selection from the contrast manager UI | |
06/14/2010 | enhancement | function | heartbeats | 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 | C source + MEX | normcdfc | normal cumulative distribution function | |
06/11/2010 | bug fix | function | spmmat2sdm | 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 | function | bfastica → ne_fastica | the function bfastica was renamed to ne_fastica | this change was done to reflect the toolbox name |
06/10/2010 | bug fix | xff method | 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 method | 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 | function | neuroelf_gui | 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 | figure + code | neuroelf_gui | 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 method | 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 | class method | @?/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 | function | tffio | 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 | c source + MEX | u8str2double | 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 | binary 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 | c source + MEX | u8str2double | 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 layout | 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 | corrected the use of one of Matlab's internal graphics handle settings | |
05/27/2010 | new function | function | heartbeats | detect the heartbeats (and heart-rate) from an ECG channel data stream | includes own UI to manually correct flaws |
05/25/2010 | new feature | method | 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 | binary 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 | function | showspmrparams | 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 | function | neuroelf_gui | internally renamed all functions from bt_NAME to ne_NAME | simply for consistency |
05/22/2010 | new function | function | vmrspmcoreg | 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 | method | SRF::AddMarkers | the method now also supports unit-cubes as shapes | new file: _files/srf/unitcube.srf |
05/21/2010 | extension | function | smoothkern | limitation for kernel sizes increased | necessary to generate larger 1-D kernels |
05/21/2010 | new file format | binary format | ACQ.bff | added support for ACQ (Acqknowledge) files up to version 3.9.7 | documentation used available from BioPac.com |
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 | class function | @transio/any2ascii | any2ascii is overloaded for transio, so that objects can be stored in ASCII representation | |
05/20/2010 | new method | method | XFF::ClearObjects | the xff (root) object can now clear objects specified by a filename pattern | |
05/20/2010 | GUI feature | figure code | neuroelf_gui | 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 | button 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 | function | findfirst | 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 | function | renamefile | 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 | function | tempfilter | 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 method | 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 | function | flexinterpn_method | 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 | function | initialalignment | 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 |