int main( int , char *[] )
{
unsigned int i;
DTITubeType::Pointer dtiTube = DTITubeType::New();
DTITubeType::PointListType list;
for( i=0; i<5; i++)
{
DTITubePointType p;
p.SetPosition(i,i+1,i+2);
p.SetRadius(1);
p.AddField(DTITubePointType::FA,i);
p.AddField(DTITubePointType::ADC,2*i);
p.AddField(DTITubePointType::GA,3*i);
p.AddField("Lambda1",4*i);
p.AddField("Lambda2",5*i);
p.AddField("Lambda3",6*i);
float* 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);
DTITubeType::PointListType pointList = dtiTube->GetPoints();
std::cout << "Number of points representing the fiber tract: ";
std::cout << pointList.size() << std::endl;
DTITubeType::PointListType::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).GetPosition() << std::endl;
std::cout << "Radius: " << (*it).GetRadius() << std::endl;
std::cout << "FA: " << (*it).GetField(DTITubePointType::FA) << std::endl;
std::cout << "ADC: " << (*it).GetField(DTITubePointType::ADC) << std::endl;
std::cout << "GA: " << (*it).GetField(DTITubePointType::GA) << 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 0;
}