### Table of Contents

# NeuroElf wiki

Welcome to the NeuroElf wiki. If you would like to contribute, please read the information provided in the wiki internals section below, email register (at) neuroelf (dot) info, and once you get your user information, you can edit/add articles! :)

Below you can find a preliminary and manually maintained table of contents. This means that in case you create a new article when you write up your own piece of documentation, please name it with a useful title, and if you consider the information you provide to be useful in a global context (e.g. a manual on how to use a specific tool or a solution to a general problem), please add the article to this page.

Once there is a sufficiently large number of articles, this will be re-organized, but for now, this should be good enough to quickly find the required information (given it is available here on the wiki).

**Please note: manuals available here at the wiki mostly reflect the most up-to-date version of files available in the daily snapshot (see the main page for the link)! If a feature described therein isn't part of that last stable release, please (temporarily) use the snapshot release, if you need this feature urgently!**

## Manuals

### wiki internals

- Creating formula images with PhpMathPublisher (hosted locally)

### Matlab basics

### NeuroElf internals

- Introduction (basic info, etc.)
- Installation (instructions for both installer and flat folder/snapshot ZIP)
- Compiling MEX files (some hints if compiling fails)
- Release notes (per-release list of substantial additions)
- Changelog (latest additions and changes to the snapshot of the toolbox)
- List of features (attempt at a comprehensive overview)
- Methods implemented in NeuroElf
**(also contains citation references)** - Support (reporting errors and problems, feature requests)
- Video tutorials (a set of screen-recordings showing various features of NeuroElf)

### Data analysis - step-by-step suggestions/instructions for a processing stream

- Coding guidelines (
**this is IMPORTANT!!**) - Image file conversion (DICOM import, K-space reconstruction, etc.)
- Model-based approaches (confirmatory, hypotheses driven): Model creation, GLM regression, Contrast and correlation maps, Mediation analysis
- Model-free approaches (exploratory, covariance-based/multi-variate statistics): Cross-correlations, ICA, Mediation analysis
- Meta-analyses: Multi-level Kernel Density Analysis (MKDA)
- Output visualization: Map overlay, Montage creation (multi-slice display), Surface projection, Flatmaps
- Scripted example (taken from my lab)

### User's corner

## Graphical User Interface (GUI)

- GLM beta plotter (GLM menu)
- Compute multi-study GLM (Analysis menu)
- Contrast manager (Analysis menu)
- RFX (single-level) mediation (Analysis menu)
- ECG/GSR data analysis (Analysis menu)
- Multi-level Kernel Density Analysis (MKDA) (Analysis menu → Meta analysis)
- Image montage UI (Visualization menu)
- Rendering UI (Visualization menu / render button)
- MDM VOI condition averages (Visualization menu)

## How-to... guides

Some of the links (questions) below have their own page, others simply re-use a wiki page that strongly relates to the topic:

## Class overview

### xff

- Common methods (object.Method): ClearObject, CopyObject, DeleteHandle, FilenameOnDisk, Filenumber, Filetype, Handles, Help, Info, ReloadFromDisk, Save, SaveAs, SaveRunTimeVars, SetHandle
- 3D and 4D data shared methods (CMP/GLM/VMP/VMR/VTC; e.g. vmp.Method): Browse, BoundingBox, GetVolume, GetVolumeSize, IntensityMask, Layout, MapNames, MaskWithVMR, SampleBVBox, SampleData3D, SampleTalBox, SetOrientation, SliceData3D, SliceToTransimg
- GLM methods: JoinFFX, JoinRFX, RFX_RemovePredictors, RFX_conmaps, RFX_rMap, RFX_tMap, RemoveSubject, SingleStudy_tMap, VOIBetas
- MAP methods: CreateVMP
- SMP methods: ClusterTable, Smooth
- SRF methods: AddMarkers, BackToVMR, Combine, CurvatureMap, Inflate, Morph, RecalcNormals, RecoSMToSphere, RecoToSphere, Smooth, Transform
- VMR methods: ApplyTRF, CleanVMR, CreateVTC, HiResRescale, InhomogeneityCorrect, LimitVMR, OverlayVMP, Talairach
- VOI methods: AddSphericalVOI, ApplyTrf
- Auxiliary functions: clearxffobjects, isxff

### xfigure

- xfigure (main/constructor function, creating figures from TFG files, subsref and subsasgn overload to access properties)
- figure methods: hFig.SetGroupEnabled, hFig.ShowPage
- uicontrol methods: hUIC.MultiString

### transimg

### transio

## Function reference

This section is sorted by area of application. To look up help for a specific function name, please use the Search box on top of any wiki page or look at the alphabetical function index.

### BrainVoyager specific

- averagevmrs - average multiple VMRs into one dataset
- bcc2area - lookup labels of color codes used in BrainVoyager QX's Talairach.VMR
- vmrspmcoreg - apply SPM's coregistration to two VMRs and create a TRF object

### Data import

- dcm2nii - import DICOM to NIftI format (using SPM's DICOM Import tool)
- dicom2nii - import DICOM or PAR/REC to NIftI format (no SPM required)
- fmriqasheet - visualize the result of
`fmriquality`

- fmriquality - fMRI quality assessment (per run, estimates measures of noise as well as motion and detects outliers)
- importrfxglmfromspms - import several SPM.mat files (and the used timecourses) into BrainVoyager QX's RFX-GLM format
- importvmpfromspms - import several 3D SPM based t- or F-maps into BrainVoyager QX's VMP format
- importvmrfromanalyze - import one 3D Analyze/NIftI file into BrainVoyager QX's VMR format
- importvtcfromanalyze - import several 3D or one 4D Analyze/NIftI file(s) into BrainVoyager QX's VTC format
- renamedicom - rename DICOM files (from filename list) according to a pattern using DICOM header values (incl. UI)

### Fun functions

- solvesudoku - Sudoku puzzle solver (not the best one, but it works)

### Information processing

- acsvread - read CSV (comma-separated-value) files (e.g. text-based Excel sheets)
- findfiles - seek file/folder names in filesystem, create list of filenames with pattern for scripted processing
- qsort - C-based Qsort algorithm (only for certain applications
- u8str2double - parsing large text files with tabular numeric data (MEX file:
**fast**)

### Interpolation (resampling)

- flexinterpn and the more user friendly flexinterpn_method - flexibly interpolate data (up to 4D)
- resampleaa - resample data with anti-aliasing (uses flexinterpn but has different option set, also distinguishes better between up- and downsampling)

### Physiological data processing

- computehrv - compute heart-rate variability (HRV) from onset data
- heartbeats - detect and visualize heart beats from ECG recording (incl. manual de/selection of problematic beat locations)
- plotcurves - flexibly visualize curves and, if requested, determine points of interest (e.g. peaks) and compute distances (response times, amplitudes, etc.)
- prefilter - pre-processing filter of signal data (removal of unwanted frequencies, resonance, and noise components)

### Robust regression

- fitrobustbisquare - robustly fit (weighted) least-squares model by iteratively re-weighting outliers using the bisquare function
- fitrobustbisquare_img - apply robust fit on multi-dimensional data, instance-by-instance (faster than looping around fitrobustbisquare)

### Spatial data processing

- clustercoords and clustercoordsc - cluster coordinates in 3D data volume
- clustermeshmap and clustermeshmapbin - cluster coordinates on 2D mesh surface
- clustervol - cluster binary volume (used by clustercoords)
- conv3d - C-based 3D spatial convolution
- splitclustercoords - attempt to split a cluster into sub-compartments using a modified watershed algorithm

### Spatial transformations (incl. coordinates)

- acpc2tal - apply BrainVoyager TAL transformation to coordinates
- applybvtrf - apply BrainVoyager TRF transformation to coordinates
- bvcoordconv - convert between TAL/MNI space and diverse BrainVoyager QX spaces (interal/external/voxel coordinate systems)
- bvtrf - compile BrainVoyager QX compatible transformation matrix (see also TRF object)
- mni2tal - apply Matthew Brett's coordinate conversion from MNI to Talairach space
- tal2acpc - apply inverse BrainVoyager TAL transformation to coordinates

### Statistics

- alphasim - simulate random data/maps to determine cluster level threshold under given smoothing conditions
- calcbetas - perform ordinary least-squares (OLS) regression and, if requested, compute predicted time course and SE
- conjval and conjvalp - compute conjunction of statistics (where conjvalp inverts the min to a max logic for signed, one-tailed p-values)
- correlinvtstat, correlpvalue, and correltstat - convert correlation coefficient ® from/into t-statistic (or p-value)
- corrmap - correlation map with support for OLS, robust regression, and Kendall Tau coefficient
- cov_nd - compute covariance/correlation arrays over last dimension of N-dimensional data
- custom_pwelch - compute Welch's method periodogram over data
- kurt - kurtosis
- sdist - statistical distributions (one function, e.g. Fcdf, tcdf, tinv, etc.)
- skew - skewness
- varc - C-based variance (faster for single-core processing)

### Temporal transformations

- psctrans - per cent signal change (%) transformation (incl. applying transform in one dimension for multi-dimensional data)
- tempfilter - apply temporal filtering to (multi-dimensional) data
- ztrans - z-transformation (incl. applying transform in one dimension for multi-dimensional data)

### User Interface (UI) functions

- colorpicker - select color(s) from RGB/HSV color space

### Auxiliary functions

- afni_parse - AFNI's HEAD format parser (used by xff)
- analyzetype - return datatype for internal use by the Analyze/NIftI format
- any2ascii - converts other datatypes into ASCII representation (for storage in text files and use with eval)
- asciiread and asciiwrite - read/write file contents as ASCII (handle line breaks)
- barycoord - compute barycentric coordinates
- checkstruct - compare struct with well-formated list of fields and options
- checksyntax - detect syntax errors in code without actually running it (uses eval)
- colcode2uint32 and uint322colcode - internal routine to convert the color coding used in BrainVoyager's SRF format
- convones - convolve a given vector with an all-ones vector of given length
- filesize - get size of given filename in bytes