Ejemplo n.º 1
0
    /// <summary>
    /// The main entry method called by the CSharp driver
    /// </summary>
    /// <param name="argv"></param>
    public static void AVTestImageWriters(String [] argv)
    {
        //Prefix Content is: ""

        // Image pipeline[]
        image1 = new vtkTIFFReader();
        image1.SetFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/beach.tif");
        // "beach.tif" image contains ORIENTATION tag which is []
        // ORIENTATION_TOPLEFT (row 0 top, col 0 lhs) type. The TIFF []
        // reader parses this tag and sets the internal TIFF image []
        // orientation accordingly.  To overwrite this orientation with a vtk[]
        // convention of ORIENTATION_BOTLEFT (row 0 bottom, col 0 lhs ), invoke[]
        // SetOrientationType method with parameter value of 4.[]
        image1.SetOrientationType((uint)4);
        image1.Update();
        sp = new vtkStructuredPoints();
        sp.SetDimensions(image1.GetOutput().GetDimensions()[0], image1.GetOutput().GetDimensions()[1], image1.GetOutput().GetDimensions()[2]);
        sp.SetExtent(
            image1.GetOutput().GetExtent()[0],
            image1.GetOutput().GetExtent()[1],
            image1.GetOutput().GetExtent()[2],
            image1.GetOutput().GetExtent()[3],
            image1.GetOutput().GetExtent()[4],
            image1.GetOutput().GetExtent()[5]);
        //sp.SetScalarType((int)image1.GetOutput().GetScalarType());
        //sp.SetNumberOfScalarComponents((int)image1.GetOutput().GetNumberOfScalarComponents());
        vtkDataObject.SetPointDataActiveScalarInfo(sp.GetInformation(), (int)image1.GetOutput().GetScalarType(), (int)image1.GetOutput().GetNumberOfScalarComponents());

        sp.GetPointData().SetScalars((vtkDataArray)image1.GetOutput().GetPointData().GetScalars());
        luminance = new vtkImageLuminance();
        luminance.SetInputData((vtkDataObject)sp);
        //[]
        // write to the temp directory if possible, otherwise use .[]
        //[]
        dir = ".";
        dir = TclToCsScriptTestDriver.GetTempDirectory();


        // make sure it is writeable first[]
        try
        {
            channel       = new StreamWriter("" + (dir.ToString()) + "/test.tmp");
            tryCatchError = "NOERROR";
        }
        catch (Exception)
        { tryCatchError = "ERROR"; }

        if (tryCatchError.Equals("NOERROR"))
        {
            channel.Close();
            File.Delete("" + (dir.ToString()) + "/test.tmp");
            tiff1 = new vtkTIFFWriter();
            tiff1.SetInputConnection((vtkAlgorithmOutput)image1.GetOutputPort());
            tiff1.SetFileName((string)"" + (dir.ToString()) + "/tiff1.tif");
            tiff2 = new vtkTIFFWriter();
            tiff2.SetInputConnection((vtkAlgorithmOutput)luminance.GetOutputPort());
            tiff2.SetFileName((string)"" + (dir.ToString()) + "/tiff2.tif");
            bmp1 = new vtkBMPWriter();
            bmp1.SetInputConnection((vtkAlgorithmOutput)image1.GetOutputPort());
            bmp1.SetFileName((string)"" + (dir.ToString()) + "/bmp1.bmp");
            bmp2 = new vtkBMPWriter();
            bmp2.SetInputConnection((vtkAlgorithmOutput)luminance.GetOutputPort());
            bmp2.SetFileName((string)"" + (dir.ToString()) + "/bmp2.bmp");
            pnm1 = new vtkPNMWriter();
            pnm1.SetInputConnection((vtkAlgorithmOutput)image1.GetOutputPort());
            pnm1.SetFileName((string)"" + (dir.ToString()) + "/pnm1.pnm");
            pnm2 = new vtkPNMWriter();
            pnm2.SetInputConnection((vtkAlgorithmOutput)luminance.GetOutputPort());
            pnm2.SetFileName((string)"" + (dir.ToString()) + "/pnm2.pnm");
            psw1 = new vtkPostScriptWriter();
            psw1.SetInputConnection((vtkAlgorithmOutput)image1.GetOutputPort());
            psw1.SetFileName((string)"" + (dir.ToString()) + "/psw1.ps");
            psw2 = new vtkPostScriptWriter();
            psw2.SetInputConnection((vtkAlgorithmOutput)luminance.GetOutputPort());
            psw2.SetFileName((string)"" + (dir.ToString()) + "/psw2.ps");
            pngw1 = new vtkPNGWriter();
            pngw1.SetInputConnection((vtkAlgorithmOutput)image1.GetOutputPort());
            pngw1.SetFileName((string)"" + (dir.ToString()) + "/pngw1.png");
            pngw2 = new vtkPNGWriter();
            pngw2.SetInputConnection((vtkAlgorithmOutput)luminance.GetOutputPort());
            pngw2.SetFileName((string)"" + (dir.ToString()) + "/pngw2.png");
            jpgw1 = new vtkJPEGWriter();
            jpgw1.SetInputConnection((vtkAlgorithmOutput)image1.GetOutputPort());
            jpgw1.SetFileName((string)"" + (dir.ToString()) + "/jpgw1.jpg");
            jpgw2 = new vtkJPEGWriter();
            jpgw2.SetInputConnection((vtkAlgorithmOutput)luminance.GetOutputPort());
            jpgw2.SetFileName((string)"" + (dir.ToString()) + "/jpgw2.jpg");
            tiff1.Write();
            tiff2.Write();
            bmp1.Write();
            bmp2.Write();
            pnm1.Write();
            pnm2.Write();
            psw1.Write();
            psw2.Write();
            pngw1.Write();
            pngw2.Write();
            jpgw1.Write();
            jpgw2.Write();
            File.Delete("" + (dir.ToString()) + "/tiff1.tif");
            File.Delete("" + (dir.ToString()) + "/tiff2.tif");
            File.Delete("" + (dir.ToString()) + "/bmp1.bmp");
            File.Delete("" + (dir.ToString()) + "/bmp2.bmp");
            File.Delete("" + (dir.ToString()) + "/pnm1.pnm");
            File.Delete("" + (dir.ToString()) + "/pnm2.pnm");
            File.Delete("" + (dir.ToString()) + "/psw1.ps");
            File.Delete("" + (dir.ToString()) + "/psw2.ps");
            File.Delete("" + (dir.ToString()) + "/pngw1.png");
            File.Delete("" + (dir.ToString()) + "/pngw2.png");
            File.Delete("" + (dir.ToString()) + "/jpgw1.jpg");
            File.Delete("" + (dir.ToString()) + "/jpgw2.jpg");
        }


        viewer = new vtkImageViewer();
        viewer.SetInputConnection((vtkAlgorithmOutput)luminance.GetOutputPort());
        viewer.SetColorWindow((double)255);
        viewer.SetColorLevel((double)127.5);
        viewer.Render();

//deleteAllVTKObjects();
    }
Ejemplo n.º 2
0
    /// <summary>
    /// The main entry method called by the CSharp driver
    /// </summary>
    /// <param name="argv"></param>
    public static void AVextractRectGrid(String [] argv)
    {
        //Prefix Content is: ""

        // create pipeline - rectilinear grid[]
        //[]
        rgridReader = new vtkRectilinearGridReader();
        rgridReader.SetFileName((string)"" + (VTK_DATA_ROOT.ToString()) + "/Data/RectGrid2.vtk");
        outline = new vtkOutlineFilter();
        outline.SetInputConnection((vtkAlgorithmOutput)rgridReader.GetOutputPort());
        mapper = vtkPolyDataMapper.New();
        mapper.SetInputConnection((vtkAlgorithmOutput)outline.GetOutputPort());
        actor = new vtkActor();
        actor.SetMapper((vtkMapper)mapper);
        rgridReader.Update();
        extract1 = new vtkExtractRectilinearGrid();
        extract1.SetInputConnection((vtkAlgorithmOutput)rgridReader.GetOutputPort());
        //extract1 SetVOI 0 46 0 32 0 10[]
        extract1.SetVOI((int)23, (int)40, (int)16, (int)30, (int)9, (int)9);
        extract1.SetSampleRate((int)2, (int)2, (int)1);
        extract1.IncludeBoundaryOn();
        extract1.Update();
        surf1 = new vtkDataSetSurfaceFilter();
        surf1.SetInputConnection((vtkAlgorithmOutput)extract1.GetOutputPort());
        tris = new vtkTriangleFilter();
        tris.SetInputConnection((vtkAlgorithmOutput)surf1.GetOutputPort());
        mapper1 = vtkPolyDataMapper.New();
        mapper1.SetInputConnection((vtkAlgorithmOutput)tris.GetOutputPort());
        mapper1.SetScalarRange((double)((vtkDataSet)extract1.GetOutput()).GetScalarRange()[0], (double)((vtkDataSet)extract1.GetOutput()).GetScalarRange()[1]);
        actor1 = new vtkActor();
        actor1.SetMapper((vtkMapper)mapper1);
        // write out a rect grid[]
        // write to the temp directory if possible, otherwise use .[]
        dir = ".";
        dir = TclToCsScriptTestDriver.GetTempDirectory();


        // make sure the directory is writeable first[]
        try
        {
            channel       = new StreamWriter("" + (dir.ToString()) + "/test.tmp");
            tryCatchError = "NOERROR";
        }
        catch (Exception)
        { tryCatchError = "ERROR"; }

        if (tryCatchError.Equals("NOERROR"))
        {
            channel.Close();
            File.Delete("" + (dir.ToString()) + "/test.tmp");
            rectWriter = new vtkRectilinearGridWriter();
            rectWriter.SetInputConnection((vtkAlgorithmOutput)extract1.GetOutputPort());
            rectWriter.SetFileName((string)"" + (dir.ToString()) + "/rect.tmp");
            rectWriter.Write();
            // delete the file[]
            File.Delete("" + (dir.ToString()) + "/rect.tmp");
        }


        // Create the RenderWindow, Renderer and both Actors[]
        //[]
        ren1   = vtkRenderer.New();
        renWin = vtkRenderWindow.New();
        renWin.AddRenderer((vtkRenderer)ren1);
        iren = new vtkRenderWindowInteractor();
        iren.SetRenderWindow((vtkRenderWindow)renWin);
        //ren1 AddActor actor[]
        ren1.AddActor((vtkProp)actor1);
        renWin.SetSize((int)340, (int)400);
        iren.Initialize();
        // render the image[]
        //[]
        // prevent the tk window from showing up then start the event loop[]

//deleteAllVTKObjects();
    }