Recent Changes - Search:

Homepage

This is the old Camino website, please visit our new page to download the code and get the latest documentation.









UCL MIG Home

UCL CS Home

UCL Home

edit SideBar

Man /

Mesd

Content-type: text/html Manpage of mesd

mesd

Section: User Commands (1)
Index Return to Main Contents
 

NAME

mesd - Maximum entropy spherical deconvolution.

 

SYNOPSIS

mesd [options]

 

DESCRIPTION

mesd is a general program for maximum entropy spherical deconvolution. It also runs PASMRI, which is a special case of spherical deconvolution.

The program sends its output to the standard output by default. The input data must be in voxel order.

 

EXAMPLES

Run MESD on every voxel of the data file SubjectA.Bfloat using the spike deconvolution kernel (see Options, -filter).

cat SubjectA.Bfloat | mesd -filter SPIKE 1.0 -schemefile A.scheme > MESD_A.Bdouble

And using the PASMRI kernel with r = 1.4:

cat SubjectA.Bfloat | mesd -filter PAS 1.4 -schemefile A.scheme > PAS_A.Bdouble

The basic options are similar to modelfit. See modelfit(1) for examples of running simulations, which can be run with mesd in a similar way.

The format of the output in each voxel is:

{ exitcode


  ln(A^star(0))
  lambda_0
  lambda_1
  :
  lambda_N }

The exitcode contains the results of three tests. The first test thresholds the maximum relative error between the numerical integrals computed at convergence and those computed using a larger test point set; if the error is greater than a threshold the exitcode is increased from zero to one as a warning; if it is greater than a larger threshold the exitcode is increased to two to suggest failure. The second test thresholds the predicted error in numerical integrals computed using the test point set; if the predicted error is greater than a threshold the exitcode is increased by 10. The third test thresholds the RMS error between the measurements and their predictions from the fitted deconvolution; if the errors are greater than a threshold, the exitcode is increased by 100. An exitcode of 112 means that all three tests were failed and the result is likely to be unreliable. If all is well the exitcode is zero. Results are often still reliable even if one or two of the tests are failed.

Other possible exitcodes are:

5 - The optimization failed to converge

-1 - Background

-100 - Something wrong in the MRI data, e.g. negative or zero measurements, so that the optimization could not run.

The standard MESD implementation is computationally demanding, particularly as the number of measurements increases (computation is approximately O(N^2), where N is the number of measurements). There are two ways to obtain significant computational speed-up:

i) Turn off error checks and use a small point set for computing numerical integrals in the algorithm by adding the flag -fastmesd. Sakaie CDMRI 2008 shows that using the smallest point set (-basepointset 0) with no error checks usually has only a minor effect on the output of the algorithm, but provides a major reduction in computation time. You can increase the point set size using -basepointset with an argument higher than 0, which may produce better results in some voxels, but will increase computation time, which approximately doubles every time the point set index increases by 1.

ii) Reduce the complexity of the maximum entropy encoding using -mepointset <X>. By default <X> = N, the number of measurements, and is the number of parameters in the max. ent. representation of the output function, ie the number of lambda parameters, as described in Jansons and Alexander Inverse Problems 2003. However, we can represent the function using less components and <X> here specifies the number of lambda parameters. To obtain speed-up, set <X> < N; complexity become O(<X>^2) rather than O(N^2). Note that <X> must be chosen so that the camino/PointSets directory contains a point set with that number of elements. When -mepointset decreases, the numerical integration checks make less and less of a difference and smaller point sets for numerical integration (see -basepointset) become adequate. So when <X> is low -fastmesd is worth using to get even more speed-up.

The choice of <X> is a parameter of the technique. Too low and you lose angular resoloution; too high and you see no computational benefit and may even suffer from overfitting. Empirically, we have found that <X>=16 often gives good results and good speed up, but it is worth trying a few values a comparing performance. The reduced encoding is described in the following ISMRM abstract: Sweet and Alexander "Reduced Encoding Persistent Angular Structure" 572 ISMRM 2010.

 

OPTIONS

mesd processes options in command line order.

Basic options for processing a data file:

-filter <Filter name> <Filter parameters>
The inversion index specifies the type of inversion to perform on the data. The currently available choices are:

Filter name             Filter parameters

SPIKE                   bd (Product of the b-value and the                      
diffusivity along the fibre.)

PAS                             r

-fastmesd
Turns off numerical integration checks and fixes the integration point set size at that of the index specified by -basepointset.

-basepointset <index>
Specifies the index of the smallest point set to use for numerical integration. If -fastmesd is specified, this is the only point set used; otherwise, this is the first point set tested and the algorithm automatically determines whether to increase the point set size individually in each voxel.

-inputfile <input filename>
See modelfit(1).

-inputdatatype <data type of input>
See modelfit(1).

-outputfile <output filename>
See modelfit(1).

-bgthresh <BACKGROUNDTHRESHOLD>
See modelfit(1).

-csfthresh <CSFTHRESHOLD>
See modelfit(1).

-schemefile <Scheme file name>
See modelfit(1).

-bmx <acquisition scheme index>
See modelfit(1).

-fixedmodq <M> <N> <Q> <tau>
See modelfit(1).

-tau <tau>
See modelfit(1).

-testfunc <test function index>
See datasynth(1).

-lambda1 <l_1>
See datasynth(1).

-scale <scale factor>
See datasynth(1).

-dt2rotangle <rotation angle (in radians)>
See datasynth(1).

-dt2mix <mixing parameter>
See datasynth(1).

-gaussmix <n> <D_1> <a_1> ...

         <D_n> <a_n>  See datasynth(1).

-rotation <rotation index>
See datasynth(1).

-voxels <T>
See datasynth(1).

-snr <S>
See datasynth(1).

-seed <seed>
See datasynth(1).

-bootstrap <R>
See datasynth(1).

-inputmodel <model type>
See datasynth(1).

-mepointset <number>
Use a set of directions other than those in the scheme file for the deconvolution kernel.
 The number refers to the number of directions on the unit sphere. For example, "-mepointset 54" uses the directions in "camino/PointSets/Elec054.txt".

 

AUTHORS

Daniel Alexander <camino@cs.ucl.ac.uk>

 

SEE ALSO

modelfit(1), dtfit(1), twotenfit(1), threetenfit(1), datasynth(1)

 

BUGS


    


 

Index

NAME
SYNOPSIS
DESCRIPTION
EXAMPLES
OPTIONS
AUTHORS
SEE ALSO
BUGS

This document was created by man2html, using the manual pages.
Time: 02:07:11 GMT, December 04, 2017

Edit - History - Print - Recent Changes - Search
Page last modified on October 26, 2009, at 02:55 PM