int
main(int, char *[])
{
using DTITubePointType = DTITubeType::DTITubePointType;
using PointType = DTITubeType::PointType;
auto dtiTube = DTITubeType::New();
DTITubeType::DTITubePointListType list;
for (unsigned int i = 0; i < 5; ++i)
{
DTITubePointType p;
PointType pnt;
pnt[0] = i;
pnt[1] = i + 1;
pnt[2] = i + 2;
p.SetPositionInObjectSpace(pnt);
p.SetRadiusInObjectSpace(1);
p.AddField(
i);
DTITubeSpatialObjectPointField::ADC,
2 * i);
p.AddField(
3 * i);
p.AddField("Lambda1", 4 * i);
p.AddField("Lambda2", 5 * i);
p.AddField("Lambda3", 6 * i);
auto * v = new float[6];
for (unsigned int k = 0; k < 6; ++k)
{
v[k] = k;
}
p.SetTensorMatrix(v);
delete[] v;
p.SetColor(1, 0, 0, 1);
list.push_back(p);
}
dtiTube->GetProperty().SetName("DTITube");
dtiTube->SetId(1);
dtiTube->SetPoints(list);
dtiTube->Update();
const DTITubeType::DTITubePointListType pointList = dtiTube->GetPoints();
std::cout << "Number of points representing the fiber tract: ";
std::cout << pointList.size() << std::endl;
{
unsigned int i = 0;
for (auto & currentPoint : dtiTube->GetPoints())
{
std::cout << std::endl;
std::cout << "Point #" << i << std::endl;
std::cout << "Position: " << currentPoint.GetPositionInObjectSpace()
<< std::endl;
std::cout << "Radius: " << currentPoint.GetRadiusInObjectSpace()
<< std::endl;
std::cout << "FA: "
DTITubeSpatialObjectPointField::FA)
<< std::endl;
std::cout << "ADC: "
<< currentPoint.GetField(
DTITubeSpatialObjectPointField::ADC)
<< std::endl;
std::cout << "GA: "
DTITubeSpatialObjectPointField::GA)
<< std::endl;
std::cout << "Lambda1: " << currentPoint.GetField("Lambda1")
<< std::endl;
std::cout << "Lambda2: " << currentPoint.GetField("Lambda2")
<< std::endl;
std::cout << "Lambda3: " << currentPoint.GetField("Lambda3")
<< std::endl;
std::cout << "TensorMatrix: " << currentPoint.GetTensorMatrix()[0]
<< " : ";
std::cout << currentPoint.GetTensorMatrix()[1] << " : ";
std::cout << currentPoint.GetTensorMatrix()[2] << " : ";
std::cout << currentPoint.GetTensorMatrix()[3] << " : ";
std::cout << currentPoint.GetTensorMatrix()[4] << " : ";
std::cout << currentPoint.GetTensorMatrix()[5] << std::endl;
std::cout << "Color = " << currentPoint.GetColor() << std::endl;
++i;
}
}
return EXIT_SUCCESS;
}
Contains all enum classes used by DTITubeSpatialObjectPoint class.
Representation of a tube based on the spatial object classes.