#include "vtkImageData.h"
#include "vtkPointData.h"
#include "vtkPolyData.h"
#include "vtkProperty.h"
#include "vtkPolyDataMapper.h"
#include "vtkActor.h"
#include "vtkRenderer.h"
#include "vtkCellArray.h"
#include "vtkPoints.h"
#include "vtkDoubleArray.h"
#include <vtkXMLImageDataWriter.h>
#include <vtkXMLPolyDataWriter.h>
#include <vtkRenderWindowInteractor.h>
int main(int argc, char *argv[])
{
if( argc < 3 )
{
std::cerr << argv[0] << " filename.dcm outfile.vti\n";
return 1;
}
const char * filename = argv[1];
const char * outfilename = argv[2];
const char * outfilename2 = argv[3];
{
return 1;
}
{
return 1;
}
{
return 1;
}
{
return 1;
}
{
return 1;
}
gdcm::Tag tcompensatorthicknessdata(0x300a,0x00ec);
{
return 1;
}
std::cout << at1.
GetValue() << std::endl;
std::cout << at2.
GetValue() << std::endl;
std::cout << at3.
GetValue(0) << std::endl;
std::cout << at4.
GetValue(0) << std::endl;
vtkDoubleArray *d = vtkDoubleArray::New();
vtkImageData *img = vtkImageData::New();
img->Initialize();
img->SetScalarTypeToDouble();
img->SetNumberOfScalarComponents(1);
img->GetPointData()->SetScalars(d);
img->Update();
img->Print(std::cout);
vtkXMLImageDataWriter *writeb= vtkXMLImageDataWriter::New();
writeb->SetInput( img );
writeb->SetFileName( outfilename );
writeb->Write( );
{
return 1;
}
{
return 1;
}
vtkDoubleArray *scalars = vtkDoubleArray::New();
scalars->SetNumberOfComponents(3);
{
return 1;
}
vtkPolyData *output = vtkPolyData::New();
vtkPoints *newPts = vtkPoints::New();
vtkCellArray *polys = vtkCellArray::New();
vtkIdType *ptIds = new vtkIdType[npts];
for(unsigned int i = 0; i < npts; ++i)
{
float x[3] = {};
x[0] = (float)ptr[2*i+0];
x[1] = (float)ptr[2*i+1];
vtkIdType ptId = newPts->InsertNextPoint( x );
ptIds[i ] = ptId;
}
vtkIdType cellId = polys->InsertNextCell(npts , ptIds);
(void)cellId;
delete[] ptIds;
output->SetPoints(newPts);
newPts->Delete();
output->SetPolys(polys);
polys->Delete();
output->Update();
output->Print( std::cout );
vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
viewer->GetRenderer()->ResetCameraClippingRange();
viewer->GetRenderer()->ResetCameraClippingRange();
vtkPolyDataMapper *cubeMapper = vtkPolyDataMapper::New();
cubeMapper->SetInput( output );
cubeMapper->SetScalarRange(0,7);
vtkActor *cubeActor = vtkActor::New();
cubeActor->SetMapper(cubeMapper);
vtkProperty * property = cubeActor->GetProperty();
property->SetRepresentationToWireframe();
viewer->GetRenderer()->AddActor( cubeActor );
vtkXMLPolyDataWriter *writec= vtkXMLPolyDataWriter::New();
writec->SetInput( output );
writec->SetFileName( outfilename2 );
writec->Write( );
iren->Initialize();
iren->Start();
return 0;
}