визуализировать нерегулярные данные в VTK - PullRequest
2 голосов
/ 09 ноября 2009

У меня неправильные данные, измерение x - 384, измерение y - 256 и измерение z 64. Теперь эти координаты хранятся в 3 отдельных двоичных файлах, и у меня есть файл данных, содержащий значение данных для этих точек. Я хочу знать, как я могу представить такие данные, которые легко визуализируются в vtk.

До сих пор мы использовали AVS с полевыми файлами, которые могут легко читать такие данные. Я не знаю, как это сделать в VTK. Буду признателен за любые указания в этом направлении.

Ответы [ 3 ]

2 голосов
/ 17 мая 2012

Мой лучший ответ - написать небольшую программу, которая читает файлы, а затем заполняет объект vtkImageData, а затем сохраняет его с помощью vtkMetaImageWriter или как-то еще?

vtkSmartPointer<vtkImageData> ImageData = vtkSmartPointer<vtkImageData>::New(); 
ImageData->SetDimensions(384,254,64); 
ImageData->SetOrigin(0.0,0.0,0.0); 
ImageData->SetSpacing(1.0,1.0,1.0); 
ImageData->SetScalarTypeToDouble();
ImageData->AllocateScalars();   
for(int i=0; i<z_dim-1; i++){
   for(int j=0;j<y_dim-1;j++){                             
     for(int k=0;k<x_dim-1;j++){
          double pix= pixel from data file
          double* pixel = static_cast<double*>(ImageData->GetScalarPointer(k,j,i)); 
          pixel[0] = pix; 
          } 
     }              

}

1 голос
/ 13 декабря 2009

Возможно, вы сможете написать короткую программу для преобразования файлов в собственный формат VTK. С ними легко работать, есть ASCII и двоичные варианты. Они описаны в этом документе: www.vtk.org/VTK/img/file-formats.pdf

Вы можете также найти это полезным: http://www.rug.nl/cit/hpcv/visualisation/VTK/avs2vtk/man.html - если вы просматриваете страницу, там есть сценарии для преобразования файлов AVS в форматы VTK, это может быть хорошей отправной точкой.

Надеюсь, это поможет, Carlos-

0 голосов
/ 24 апреля 2013

Вы можете использовать paraview , чтобы открыть все файлы, объединить точки и визуализировать. вот пример для загрузки файлов

вы можете сохранить файл vtk, как в этом примере вот пример сохранения очков

...