NeuroDOT Directory

From OICWiki

Jump to: navigation, search

This is a listing of all programs and data files that are included in a standard release package of NeuroDOT. If you are working with an internal version of NeuroDOT, it might will contain additional programs that are still works in progress.


Accessory Files

This directory holds information files that are used by multiple NeuroDOT programs (e.g., radius files, grid files).

  • grid2radiuscfg(): Converts grid files to radius files and .cfg files for use by AcqDecode.
  • gridstandard(): Makes grid files from pad definition files.
  • isbrain3.mat: Contains information about which voxels within the shell are within the head. This file contains a structure that has this information for different A-matrices. This format is being replaced by a calculation of isbrain within dotimage(). So, isbrain3.mat might soon be deleted.

cfg files

These files contain information about pad geometry to be read by AcqDecode. You need one for every pad that you use. They can be created by grid2radiuscfg(). The standard ones in the folder are:

  • AdultV24x28.cfg
  • AdultV24x21.cfg
  • BabyV18x16.cfg

grid files

Grid files contain information about source and detector placement in 2D and 3D.

  • grid_AdultV24x28.mat
  • grid_AdultV24x21.mat
  • grid_BabyV18x16.mat
  • grid_Ep12x13.mat

pad definitions

These files contain information about pad geometry to be read by gridstandard().

  • AdultV24x28.txt
  • AdultV24x21.txt
  • BabyV18x16.txt

radius files

Radius files contain nearest-neighbor definitions and source-detector separations.

  • radius_AdultV24x28.mat
  • radius_AdultV24x21.mat
  • radius_BabyV18x16.mat

spectroscopy matrices

  • E_old: spectroscopy matrix from Zeff et al, PNAS 2007.


The main NeuroDOT programs for DOT processing.

  • dotbasic(): Does all stages of processing within regard to experimental design.
  • dotfilter(): Filters and de-noises source-detector data.
  • dotimage(): Performs image reconstruction.
  • loaddata(): Reads in data from AcqDecode files (as well as our older MATLAB data format).
  • resampledata(): Changes data temporal sampling rate.

Data Management

These programs are mostly concerned with loading in and reshaping data. The important ones are:

  • cropdata(): crops data based on stimulus synchronization.
  • findsynch(): is needed to interpret the stimulus synch channel.
  • runcat(): concatenates the results of multiple runs of the same stimulus presentation.
  • blockave(): block-averaged all presentations of the same stimulus.
  • mergestruct(): combines two input structs into one.
  • readkeyfile(): reads in information from the text files by which Acqdecode and the rest of the NeuroDOT Toolbox communicate.
  • template2txt(): If you got NeuroDOT from SVN, then you need to run this program to set up your flags and paths .txt files.

Other programs are used for internal functioning of the main experimental design programs and probably needn't be used:

  • checkflags(): makes sure all the necessary variables are in place for a program to work properly.
  • datacondition(): reshapes data, enabling most NeuroDOT programs to not care about the input data's shape/size.
  • getflags(): interprets variable inputs (varargin) as flags.
  • interppathstr(): interprets input path strings to search in the proper directory for files.


This folder contains the default flags files for every program. Each program that needs flags has a .txt file in this directory with the same name. Do not change these files unless you absolutely know you want to change how all your data is processed. If you want to create an alternative processing stream, it would be better to create a new flags file and put it in the directory \flags\ and call it through the command line (see using flags).

Display and Visualization

These programs are used for creating figures.

  • viewrawdata(), viewnlrdata(), and viewcortex() were described above; they are used to view various stages of data processing in a now-frills manner.
  • sigplots() and spgplots() recreate the figures output by sig() and spg(), respectively.
  • makeimage() is used by all the other display programs and creates a self-contained program to output images that are the correct shape and are masked to show only the voxels within the brain.
  • makebox() draws a box around a specified region of an image.


These programs make new encoding patterns for AcqDecode. At the moment, you can only make "standard" patterns, which means they use our normal concepts of simultaneous frequency, temporal, and spatial encoding.

Experimental Design

The main processing programs for working with standard experiments. These do all your cropping and data loading for you, and process multiple runs if appropriate:

  • sig(): Processes retinotopy scans.
  • spg(): Fourier processing of the results from sig().
  • pbd(): Processes block-design visual and motor data.

Filtering Regression

These programs are used to filter and remove noise from data.

  • logmean(): converts raw intensity data to differential measurements consistent with the Rytov approximation.
  • lowpass() and highpass(): perform temporal filtering.
  • detdata(): removes a linear temporal trend from every data channel.
  • getgi(): uses a noise threshold to determine which channels should be kept for further analysis.
  • gethem(): constructs a measure of superficial noise using the first-nearest neighbor measurements.
  • regcorr(): regresses out a noise signal from the data (usually from gethem()) and also returns the correlation with every channel, which is used in functional connectivity analysis.
  • normRow()
  • normCol()


This is where you put your own flags files that you've made and want to use on many data sets.

Forward Modeling

Programs for making A-matrices.


Contains A-matrices and Green's Functions files. The newest versions should be A_NAME not Avox_NAME.

  • A_BabyV18x16.mat
  • A_AdultV24x28.mat
  • A_AdultV24x21.mat
  • Avox_motor.mat
  • GFunc_BabyV18x16.mat
  • GFunc_AdultV24x28.mat
  • GFunc_AdultV24x21.mat


Contains cropping files for making A-matrices:

  • visual.txt: reproduces the cropping of AdultV24x28 and AdultV24x21.


Contains NIRFAST meshes, each in it's own folder.

Current Adult

  • CurrentAdult.node
  • CurrentAdult.elem
  • CurrentAdult.region
  • regions.txt

Optical Properties

Optical properties information for regions in the mesh.

  • 2Layer.txt


These programs are responsible for image reconstruction (going from source-detector data to 3D voxel data).


Directory information files to tell MATLAB where your data is stored. We recommend that if you're not familiar with the formatting, that you just use the default.

  • Default.txt

Phase Processing

These programs are used to make phase-encoded retinotopic maps.


Contains PsychToolbox stimulus programs.

steps files

Saved outputs from stimulus presentations so that you can reproduce them.

stimulus matrices

The images to be presented on screen by the stimuli

  • stim_AC.mat
  • stim_ring.mat
  • stim_wedge.mat


Information about monitor set-up and resolution on various systems.

  • DOT.txt


  • dotspect(): performs spectroscopy, converting absorption data to hemoglobin species concentrations.
  • makeEhem(): make spectroscopy matrices.
Personal tools