public static void vtkMetaImageReaderMhdData(string fileName, string oldBitmapPath) { vtkMetaImageReader reader = new vtkMetaImageReader(); reader.SetFileName(fileName); reader.Update(); //vtkImageCast imageCast = new vtkImageCast(); //imageCast.SetInputConnection(reader.GetOutputPort()); //imageCast.SetOutputScalarTypeToUnsignedChar(); //imageCast.Update(); Console.WriteLine(reader.GetFilePrefix()); if (!Directory.Exists(oldBitmapPath)) { Directory.CreateDirectory(oldBitmapPath); } vtkBMPWriter write = new vtkBMPWriter(); write.SetFilePrefix(oldBitmapPath + "\\"); write.SetFilePattern("%s%d.bmp"); write.SetInputConnection(reader.GetOutputPort()); write.Write(); //Process.Start(oldBitmapPath); }
private void ReadMetaImage() { // Path to vtk data must be set as an environment variable // VTK_DATA_ROOT = "C:\VTK\vtkdata-5.8.0" vtkTesting test = vtkTesting.New(); string root = test.GetDataRoot(); string filePath = System.IO.Path.Combine(root, @"Data\foot\foot.mha"); vtkMetaImageReader reader = vtkMetaImageReader.New(); if (reader.CanReadFile(filePath) == 0) { MessageBox.Show("Cannot read file \"" + filePath + "\"", "Error", MessageBoxButtons.OK); return; } reader.SetFileName(filePath); reader.Update(); vtkImageActor actor = vtkImageActor.New(); actor.SetInput(reader.GetOutput()); // Visualize vtkRenderWindow renderWindow = renderWindowControl1.RenderWindow; // renderer vtkRenderer renderer = renderWindow.GetRenderers().GetFirstRenderer(); // set background color renderer.SetBackground(0.2, 0.3, 0.4); renderer.AddActor(actor); }
public static vtkImageData ReadMetaImage(this string mhdFileName) { GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced); Stopwatch sw = Stopwatch.StartNew(); File.ReadAllBytes(mhdFileName); if (File.Exists(mhdFileName.ReplaceFileName("i.raw"))) { File.ReadAllBytes(mhdFileName.ReplaceFileName("i.raw")); } if (File.Exists(mhdFileName.ReplaceFileName("i.zraw"))) { File.ReadAllBytes(mhdFileName.ReplaceFileName("i.zraw")); } vtkMetaImageReader metaImageReader = vtkMetaImageReader.New(); metaImageReader.SetFileName(mhdFileName); metaImageReader.Update(); vtkImageData readMetaImage = metaImageReader.GetOutput(); metaImageReader.Dispose(); metaImageReader = null; sw.Stop(); //Console.WriteLine("Read {0} took {1} ms.", mhdFileName, sw.ElapsedMilliseconds); return(readMetaImage); }
public static vtkImageData ReadMetaImageData(string filePath) { vtkMetaImageReader reader = new vtkMetaImageReader(); reader.SetFileName(filePath); reader.Update(); vtkImageData imagedata = reader.GetOutput(); reader.Dispose(); return(imagedata); }
private void WriteMetaImage() { // Path to vtk data must be set as an environment variable // VTK_DATA_ROOT = "C:\VTK\vtkdata-5.8.0" vtkTesting test = vtkTesting.New(); string root = test.GetDataRoot(); string filePath = System.IO.Path.Combine(root, @"Data\test_mha.mhd"); string filePathRaw = System.IO.Path.Combine(root, @"Data\test_mha.raw"); // Create an image vtkImageMandelbrotSource source = vtkImageMandelbrotSource.New(); source.Update(); vtkImageCast castFilter = vtkImageCast.New(); castFilter.SetOutputScalarTypeToUnsignedChar(); castFilter.SetInputConnection(source.GetOutputPort()); castFilter.Update(); vtkMetaImageWriter writer = vtkMetaImageWriter.New(); writer.SetInputConnection(castFilter.GetOutputPort()); writer.SetFileName(filePath); writer.SetRAWFileName(filePathRaw); writer.Write(); // Read and display file for verification that it was written correctly vtkMetaImageReader reader = vtkMetaImageReader.New(); if (reader.CanReadFile(filePath) == 0) { MessageBox.Show("Cannot read file \"" + filePath + "\"", "Error", MessageBoxButtons.OK); return; } reader.SetFileName(filePath); reader.Update(); vtkImageActor actor = vtkImageActor.New(); actor.SetInput(reader.GetOutput()); // Visualize vtkRenderWindow renderWindow = renderWindowControl1.RenderWindow; // renderer vtkRenderer renderer = renderWindow.GetRenderers().GetFirstRenderer(); // set background color renderer.SetBackground(0.2, 0.3, 0.4); renderer.AddActor(actor); }