int
main(int, char *[])
{
unsigned int i;
using DTITubePointType = DTITubeType::DTITubePointType;
DTITubeType::Pointer dtiTube = DTITubeType::New();
DTITubeType::DTITubePointListType list;
for (i = 0; i < 5; ++i)
{
DTITubePointType p;
pnt[0] = i;
pnt[1] = i + 1;
pnt[2] = i + 2;
p.SetPositionInObjectSpace(pnt);
p.SetRadiusInObjectSpace(1);
i);
2 * i);
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();
DTITubeType::DTITubePointListType pointList = dtiTube->GetPoints();
std::cout << "Number of points representing the fiber tract: ";
std::cout << pointList.size() << std::endl;
DTITubeType::DTITubePointListType::const_iterator it = dtiTube->GetPoints().
begin();
i = 0;
while (it != dtiTube->GetPoints().end())
{
std::cout << std::endl;
std::cout << "Point #" << i << std::endl;
std::cout << "Position: " << (*it).GetPositionInObjectSpace() << std::endl;
std::cout << "Radius: " << (*it).GetRadiusInObjectSpace() << std::endl;
std::cout
<< "FA: "
<< (*it).GetField(
<< std::endl;
std::cout
<< "ADC: "
<< (*it).GetField(
<< std::endl;
std::cout
<< "GA: "
<< (*it).GetField(
<< std::endl;
std::cout << "Lambda1: " << (*it).GetField("Lambda1") << std::endl;
std::cout << "Lambda2: " << (*it).GetField("Lambda2") << std::endl;
std::cout << "Lambda3: " << (*it).GetField("Lambda3") << std::endl;
std::cout << "TensorMatrix: " << (*it).GetTensorMatrix()[0] << " : ";
std::cout << (*it).GetTensorMatrix()[1] << " : ";
std::cout << (*it).GetTensorMatrix()[2] << " : ";
std::cout << (*it).GetTensorMatrix()[3] << " : ";
std::cout << (*it).GetTensorMatrix()[4] << " : ";
std::cout << (*it).GetTensorMatrix()[5] << std::endl;
std::cout << "Color = " << (*it).GetColor() << std::endl;
++it;
++i;
}
return EXIT_SUCCESS;
}