/*========================================================================= 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 to the data; the data should be in /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(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; } }