public class ConnectivitySegmentedImage
extends java.lang.Object
Constructor and Description |
---|
ConnectivitySegmentedImage(FreeFormROI seeds,
short[][][] targets,
double xVoxelDim,
double yVoxelDim,
double zVoxelDim)
Initializes the image with the dimensions of the seed space.
|
Modifier and Type | Method and Description |
---|---|
double[][][][] |
getMaxTargetCP() |
int[][][][] |
getMaxTargetSC() |
short[][][][] |
getSegmentedSeeds() |
void |
processTracts(int seedIndex,
TractCollection tracts)
apply some tracts to a specified seed point.
|
void |
setCountFirstEntry(boolean b)
The default behaviour is to count the first entry of a streamline to a target zone.
|
void |
setDirectional(Vector3D v)
Call this method to split the streamlines in two at the seed point and produce
separate connection probability maps from each.
|
public ConnectivitySegmentedImage(FreeFormROI seeds, short[][][] targets, double xVoxelDim, double yVoxelDim, double zVoxelDim)
public void processTracts(int seedIndex, TractCollection tracts)
FreeFormROI
roi, so seed point n is
roi.getVoxels()[n]
.public short[][][][] getSegmentedSeeds()
im
where the seed voxels are labelled with the target
ROI to which they have maximum connectivity. If the connectivity is directional, then
im[0]
contains seed points labelled according to their connectivity to
targets in the forward direction.public double[][][][] getMaxTargetCP()
public int[][][][] getMaxTargetSC()
public void setDirectional(Vector3D v)
v
defines a "forward"
direction and should be approximately tangential to the streamline path at the seed point.
Two volumes will be returned from getStreamlineCounts
and getConnectionProbabilities
. The first volume is connection probabilities
for streamline segments where the dot product of the streamline direction and v is greater
than zero. The second volume is connection probabilities in the other direction.
As an example, consider mapping the connectivity from the corpus callosum. We have streamlines seeded along the mid-sagittal line, which proceed to the left and right hemispheres. We would therefore use v = [-1, 0, 0]. Streamlines are then split at the seed point and the segments proceeding left (or in any direction with a negative x component) form the first connection probability volume. Those proceeding to the right (direction with a positive x component) form the second connection probability volume. We can therefore get connection probability maps to the left and right hemispheres from the same seed point. This example shows the importance of choosing the direction v carefully. It is important that v is not perpendicular to the streamline direction at any seed point.
v
- a "forward" direction. Should be approximately tangential to the streamline
trajectory at the seed point.public void setCountFirstEntry(boolean b)
false
parameter, then streamlines are
allowed to connect to any number of target zones.setDirectional(numerics.Vector3D)