public class EstimateSNR extends Executable
The standard method is to divide the mean of a tissue ROI by the standard deviation of a background ROI, but this can be unreliable with modern imaging techniques. We therefore examine the signal variance across multiple b=0 images to estimate the SNR.
Constructor and Description |
---|
EstimateSNR(java.lang.String[] args) |
Modifier and Type | Method and Description |
---|---|
void |
execute(OutputManager om)
abstract method execution for commands
|
void |
initDefaultVals()
initialise the default values of class-level
fields, as they would be at declaration.
|
void |
initOptions(java.lang.String[] args)
default commandline parsing and initialisation
|
void |
initVariables()
abstract initialisation method for commands
|
static double[] |
snrDiff(double[][] data)
Computes SNR from a single ROI, imaged twice.
|
static double[] |
snrMult(double[][] data)
Computes SNR from a single ROI, imaged many times.
|
static double[] |
snrStdv(double[][] fg,
double[] bg)
Computes SNR from a single ROI with noise variance estimated from background.
|
public void initDefaultVals()
Executable
initDefaultVals
in class Executable
public void initOptions(java.lang.String[] args)
Executable
initOptions
in class Executable
public void initVariables()
Executable
initVariables
in class Executable
public void execute(OutputManager om)
Executable
execute
in class Executable
public static double[] snrDiff(double[][] data)
data
- the data, dimensions [voxels][2].public static double[] snrMult(double[][] data)
data
- the data, dimensions [voxels][K] where there are K measurements.public static double[] snrStdv(double[][] fg, double[] bg)
fg
- the data for the foreground ROI, with dimension [voxels][1].bg
- the data for the background ROI.