HelloActiviz5.cs
/*=========================================================================
Program: GDCM (Grassroots DICOM). A DICOM library
Copyright (c) 2006-2011 Mathieu Malaterre
All rights reserved.
See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
using Kitware.VTK;
using Kitware.VTK.GDCM;
// The command line arguments are:
// -I => run in interactive mode; unless this is used, the program will
// not allow interaction and exit
// -D <path> => path to the data; the data should be in <path>/Data/
/*
* $ export MONO_PATH=/usr/lib/cli/ActiViz.NET/:/usr/lib/cli/Kitware.mummy.Runtime-1.0
* $ mono ./bin/HelloActiviz5.exe -I
*/
public class HelloActiviz5
{
public static int Main(string[] args)
{
vtkTesting testHelper = vtkTesting.New();
for ( int cc = 0; cc < args.Length; cc++ )
{
//testHelper.AddArguments(argc,const_cast<const char **>(argv));
//System.Console.Write( "args: " + args[cc] + "\n" );
testHelper.AddArgument( args[cc] );
}
if ( testHelper.IsFlagSpecified("-D") != 0 )
{
string VTK_DATA_ROOT = vtkGDCMTesting.GetVTKDataRoot();
if( VTK_DATA_ROOT != null )
{
//System.Console.Write( "VTK_DATA_ROOT: " + VTK_DATA_ROOT + "\n" );
testHelper.SetDataRoot(VTK_DATA_ROOT);
testHelper.AddArgument("-D");
testHelper.AddArgument(VTK_DATA_ROOT);
}
}
string dataRoot = testHelper.GetDataRoot();
string filename = dataRoot;
filename += "/Data/mr.001";
vtkDirectory dir = vtkDirectory.New();
if( dir.FileIsDirectory( dataRoot ) == 0 )
{
filename = vtkGDCMTesting.GetGDCMDataRoot() + "/test.acr";
}
//System.Console.Write( "dataRoot: " + dataRoot + "\n" );
System.Console.Write( "filename being used is: " + filename + "\n" );
vtkGDCMImageReader reader = vtkGDCMImageReader.New();
vtkStringArray array = vtkStringArray.New();
array.InsertNextValue(filename);
reader.SetFileNames(array);
reader.Update();
System.Console.Write(reader.GetOutput());
vtkRenderWindowInteractor iren = vtkRenderWindowInteractor.New();
vtkRenderer ren1 = vtkRenderer.New();
vtkRenderWindow renWin = vtkRenderWindow.New();
renWin.AddRenderer(ren1);
vtkImageActor actor = vtkImageActor.New();
vtkImageMapToWindowLevelColors coronalColors = vtkImageMapToWindowLevelColors.New();
coronalColors.SetInput(reader.GetOutput());
actor.SetInput(coronalColors.GetOutput());
ren1.AddActor(actor);
iren.SetRenderWindow(renWin);
iren.Initialize();
renWin.Render();
int retVal = testHelper.IsInteractiveModeSpecified();
if( retVal != 0 )
{
iren.Start();
}
return 0;
}
}
vtkGDCMImageReader
Definition vtkGDCMImageReader.h:105
vtkGDCMImageReader::SetFileNames
virtual void SetFileNames(vtkStringArray *)
vtkGDCMImageReader::New
static vtkGDCMImageReader * New()
vtkGDCMTesting
Definition vtkGDCMTesting.h:28
vtkGDCMTesting::GetVTKDataRoot
static const char * GetVTKDataRoot()
vtkGDCMTesting::GetGDCMDataRoot
static const char * GetGDCMDataRoot()