コード例 #1
0
def save_window():
    visit.ResetView()
    v = visit.GetView3D()
    v.RotateAxis(0,-90)
    visit.SetView3D(v)
    swatts= visit.SaveWindowAttributes()
    swatts.outputToCurrentDirectory = 1
    swatts.outputDirectory = "."
    swatts.fileName = "chunk_render"
    swatts.family = 0
    swatts.format = swatts.PNG
    swatts.width = 1024
    swatts.height = 1024
    swatts.screenCapture = 0
    swatts.saveTiled = 0
    swatts.quality = 100
    swatts.progressive = 0
    swatts.binary = 0
    swatts.stereo = 0
    swatts.compression = swatts.PackBits
    swatts.forceMerge = 0
    swatts.resConstraint = swatts.NoConstraint
    swatts.advancedMultiWindowSave = 0
    visit.SetSaveWindowAttributes(swatts)
    visit.SaveWindow()
コード例 #2
0
def make_slide(time):
    plasma_file = vtk_path + plasma_file_head + str(time) +'.vtk'
    paraxial_file = vtk_path + paraxial_file_head + str(time) + '.vtk'
    fullwave_file = vtk_path + fullwave_file_head + str(time) + '.vtk'
    
    print('opening plamsa file:' + plasma_file)
    sts = vi.OpenDatabase(plasma_file,0,'VTK')
    if (sts != 1):
        print('open file failed! error code:' + str(sts))
        return
    
    sts = vi.AddPlot('Pseudocolor','cutoff')
    vi.DrawPlots()
    po = vi.GetPlotOptions()
    vi.LoadAttribute(plasma_attr_file,po)
    vi.SetPlotOptions(po)
    
    print('opening paraxial file:' + paraxial_file)
    sts = vi.OpenDatabase(paraxial_file,0,'VTK')
    if (sts != 1):
        print('open file failed! error code:' + str(sts))
        return
    
    sts = vi.AddPlot('Pseudocolor','Er_para')
    vi.DrawPlots()
    po = vi.GetPlotOptions()
    vi.LoadAttribute(wave_attr_file,po)
    vi.SetPlotOptions(po)
    
    print('opening fullwave file:' + fullwave_file)
    sts = vi.OpenDatabase(fullwave_file,0,'VTK')
    if (sts != 1):
        print('open file failed! error code:' + str(sts))
        return
    
    sts = vi.AddPlot('Pseudocolor','Er_fullw')
    vi.DrawPlots()
    po = vi.GetPlotOptions()
    vi.LoadAttribute(wave_attr_file,po)
    vi.SetPlotOptions(po)
    
    view_attr = vi.GetView3D()
    vi.LoadAttribute(view_attr_file,view_attr)
    vi.SetView3D(view_attr)
    
    anno_attr = vi.GetAnnotationAttributes()
    vi.LoadAttribute(annotation_attr_file,anno_attr)
    vi.SetAnnotationAttributes(anno_attr)
    
    anno_names = vi.GetAnnotationObjectNames()
    for name in anno_names:
        legend = vi.GetAnnotationObject(name)
        legend.numberFormat = "%# -9.2g"
        legend.drawMinMax = 0
        legend.controlTicks = 1
        legend.numTicks = 3
         
        
    vi.SaveWindow()
コード例 #3
0
ファイル: visit_ats.py プロジェクト: wk1984/ats
 def setDimension(self, dim):
     """Sets the dimension, which is used in controlling the view"""
     self.dim = dim
     if dim == 2:
         self.view = v.GetView2D()
     elif dim == 3:
         self.view = v.GetView3D()
     else:
         raise RuntimeError("Invalid dimension %s"%str(dim))
コード例 #4
0
ファイル: writescript.py プロジェクト: jameskress/visit
    def write_window(f, prefix):
        # Window setup
        f.write('width, height = %d, %d\n' %
                visit.GetWindowInformation().windowSize)
        f.write(
            'win = GetGlobalAttributes().windows[GetGlobalAttributes().activeWindow]\n'
        )
        f.write('ResizeWindow(win, width, height)\n')
        f.write('SetActiveWindow(win) # Synchronize\n')
        f.write('size = GetWindowInformation().windowSize\n')
        f.write('if width < size[0] or height < size[1]:\n')
        f.write(
            '    ResizeWindow(win, width + (size[0] - width), height + (size[1] - height))\n'
        )

        f.write('DeleteAllPlots()\n')
        f.write('for name in GetAnnotationObjectNames():\n')
        f.write('    DeleteAnnotationObject(name)\n')
        f.write('\n')

        # Write the plots.
        write_plots(f)
        f.write('DrawPlots()\n\n')

        # Set the view
        f.write('# Set the view\n')
        if visit.GetWindowInformation().viewDimension == 1:
            view = visit.GetViewCurve()
        elif visit.GetWindowInformation().viewDimension == 2:
            view = visit.GetView2D()
        else:
            view = visit.GetView3D()
        write_state_object(f, view, "view")
        if visit.GetWindowInformation().viewDimension == 1:
            f.write('SetViewCurve(view)\n')
        elif visit.GetWindowInformation().viewDimension == 2:
            f.write('SetView2D(view)\n')
        else:
            f.write('SetView3D(view)\n')
        f.write('\n')

        # Get the annotation attributes
        f.write('# Set the annotation attributes\n')
        annot = visit.GetAnnotationAttributes()
        if write_state_object_diffs(f, annot, visit.AnnotationAttributes(),
                                    "annot"):
            f.write('SetAnnotationAttributes(annot)\n\n')
        else:
            f.write('#SetAnnotationAttributes(annot)\n\n')

        set_annotation_objects(f, prefix)
コード例 #5
0
ファイル: diagnostic.py プロジェクト: terjekv/scitools
def test_visit():
    import visit

    VISIT_ARGS = os.environ.get('VISIT_ARGS', ["-nosplash"])
    if isinstance(VISIT_ARGS, str):
        VISIT_ARGS = VISIT_ARGS.split()
    for arg in VISIT_ARGS:
        visit.AddArgument(arg)
    visit.Launch()

    print "visit is installed in", os.path.dirname(visit.__file__)
    print "visit version", visit.Version()

    visit.ResetView()
    v3D = visit.GetView3D()
    v3D.SetViewUp(0, 0, 1)
    v3D.SetViewNormal(-0.5, -0.8, 0.4)
    v3D.SetImageZoom(1.0)
    visit.SetView3D(v3D)

    aa = visit.AnnotationAttributes()
    aa.SetAxesType(2)  # outside edges
    aa.SetDatabaseInfoFlag(False)
    aa.SetUserInfoFlag(False)
    visit.SetAnnotationAttributes(aa)

    t = visit.CreateAnnotationObject("Text2D")
    t.SetText("Hello VisIt!")
    t.SetPosition(0.4, 0.9)  # (0,0) is lower left corner
    t.SetFontFamily(0)  # 0: Arial, 1: Courier, 2: Times
    t.SetWidth(0.25)  # 25%
    t.SetTextColor((0, 0, 0))
    t.SetUseForegroundForTextColor(False)
    t.SetVisible(True)

    visit.OpenDatabase("tmp_.vtk")

    visit.AddPlot("Mesh", "scalars")
    ma = visit.MeshAttributes()
    visit.SetPlotOptions(ma)
    visit.AddPlot("Pseudocolor", "scalars")
    pa = visit.PseudocolorAttributes()
    visit.SetPlotOptions(pa)

    visit.RedrawWindow()
    visit.DrawPlots()

    wait()
コード例 #6
0
ファイル: plotter.py プロジェクト: hturner08/ParseLy
 def scatterPlot(self,
                 coords=["var00", "var01", "var02", "var03"],
                 colorTable="hot",
                 pixelSize=5,
                 stay=False):
     visit.AddWindow()
     if len(visit.ListPlots()) > 0:
         visit.SetActivePlots(0)
         visit.HideActivePlots()
     plot = visit.AddPlot("Scatter", coords[0])
     p = visit.ScatterAttributes()
     # Variables
     if coords[1]:
         p.var2 = coords[1]
     if coords[2]:
         p.var3 = coords[2]
     if coords[3]:
         p.var4 = coords[3]
     #Role Variable Roles take intergers as inputs, not strings
     p.var1Role = 0
     p.var2Role = 1
     p.var3Role = 2
     p.var4Role = 3
     p.scaleCube = 0
     #p.colorType = "ColorByColorTable"
     p.pointSizePixels = pixelSize
     p.colorTableName = colorTable
     #p.colorScaling = "Log"
     v = visit.GetView3D()
     v.viewNormal = (-0.571619, 0.405393, 0.713378)
     v.viewUp = (0.308049, 0.911853, -0.271346)
     visit.SetPlotOptions(p)
     visit.SetView3D(v)
     visit.DrawPlots()
     count = 0
     time.sleep(5)
     return visit.SaveWindow()
コード例 #7
0
ファイル: test-escript.py プロジェクト: yan073/ANVGL-Portal
    f.write(response.read())

print("Successfully downloaded example silo")

visit.LaunchNowin()
saveatts = visit.SaveWindowAttributes()
saveatts.fileName = 'result-visit.png'
saveatts.family = 0
saveatts.width = 1024
saveatts.height = 768
saveatts.resConstraint = saveatts.NoConstraint
saveatts.outputToCurrentDirectory = 1
visit.SetSaveWindowAttributes(saveatts)
visit.OpenDatabase('example.silo')
visit.AddPlot('Contour', 'density')
c = visit.ContourAttributes()
c.colorType = c.ColorByColorTable
c.colorTableName = "hot"
visit.SetPlotOptions(c)
visit.DrawPlots()
v = visit.GetView3D()
v.viewNormal = (-0.554924, 0.703901, 0.443377)
v.viewUp = (0.272066, -0.3501, 0.896331)
visit.SetView3D(v)
visit.SaveWindow()

visit.DeleteAllPlots()
visit.CloseDatabase('example.silo')

print("Successfully rendered output raster")
print("All done!")
コード例 #8
0
    aatts.axes3D.bboxFlag = 0
    aatts.userInfoFlag = 0
    aatts.timeInfoFlag = 0
    aatts.legendInfoFlag = 0
    aatts.databaseInfoFlag = 0
    if args.time:
        aatts.timeInfoFlag = 1
    if args.legend:
        aatts.legendInfoFlag = 1
    if args.dbase:
        aatts.databaseInfoFlag = 1

    v.SetAnnotationAttributes(aatts)

    # Set initial view
    cc = v.GetView3D()
    cc.viewNormal = tuple(args.normal)  # View x-plane
    cc.viewUp = (0, 0, 1)  # Z-axis points up
    cc.imageZoom = args.zoom
    cc.imagePan = tuple(args.pan)
    cc.perspective = 0
    v.SetView3D(cc)

    # Set box selection
    if args.bbox:
        v.AddOperator('Box')
        batts = v.BoxAttributes()
        batts.amount = batts.All  # Some, All
        batts.minx = args.bbox[0]
        batts.maxx = args.bbox[1]
        batts.miny = args.bbox[2]
コード例 #9
0
import sys
# visit
sys.path.append("/home/neo/visit/2.11.0/linux-x86_64/lib/site-packages")
import visit as vs
vs.Launch()
vs.OpenDatabase("visit-data/noise.silo")
vs.AddPlot("Pseudocolor", "hardyglobal")
vs.AddPlot("Mesh", "Mesh")
vs.DrawPlots()
v = vs.GetView3D()
print "The view is: ", v
v.viewNormal = (-0.571619, 0.405393, 0.713378)
v.viewUp = (0.308049, 0.911853, -0.271346)
vs.SetView3D(v)

d = input('Press anything to quit')

コード例 #10
0
ファイル: DataLoading.py プロジェクト: kkiesling/DAGMC-viz
def visit_config(geometry_file, data_file, args):
    """
    Convert geometry file to stl, convert data file to vtk, load each file
    into VisIt, and create and load a session file containing four plot windows.
        1) A cube with a slice through an octant.
        2) XY plane slice through the centroid.
        3) XZ plane slice through the centroid.
        4) YZ plane slice through the centroid.
    Each window has a mesh plot with the "STL_mesh" variable, a Pseudocolor plot
    with the "TALLY_TAG" variable, and the second, third, and fourth windows have
    Contour plots with the "ERROR_TAG" variable. If the user has indicated to,
    launch VisIt and load the session file.

    Input:
    ______
       geometry_file: h5m file
           User supplied geometry file.
       data_file: h5m or vtk file
           User supplied data file.
       args: Namespace
           User supplied geometry file location, data file location, and
           indication if the user wants images of the plot windows with a
           timestamp and the session file saved and opened in VisIt.

    Returns:
    ________
       None
    """

    # Create a list of dictionaries indicating the data, plot, and variable in VisIt.
    Files = [{
        "file_name": data_file,
        "plot_type": "Pseudocolor",
        "data_tag": "TALLY_TAG"
    }, {
        "file_name": data_file,
        "plot_type": "Contour",
        "data_tag": "ERROR_TAG"
    }, {
        "file_name": geometry_file,
        "plot_type": "Mesh",
        "data_tag": "STL_mesh"
    }]

    # Launch VisIt and add appropriate plots.
    Vi.LaunchNowin()
    for file in Files:
        Vi.OpenDatabase(file["file_name"])
        Vi.AddPlot(file["plot_type"], file["data_tag"])

    # Hide the contour plot in the first plot window.
    Vi.SetActivePlots(1)
    Vi.HideActivePlots()

    # Create the plot of the cube by activating the mesh and pseudocolor plots.
    Vi.SetActivePlots((0, 2))

    # Set the view normal to the first octant.
    v = Vi.GetView3D()
    v.viewNormal = (1, 1, 1)
    Vi.SetView3D(v)

    # Apply a clip through the first octant.
    Vi.AddOperator("Clip")
    c = Vi.ClipAttributes()
    c.plane1Origin = (40, 40, 40)
    c.plane1Normal = (1, 1, 1)
    Vi.SetOperatorOptions(c)

    # Include the CNERG logo in the bottom left corner of the plot.
    image = Vi.CreateAnnotationObject("Image")
    image.image = os.path.dirname(os.path.abspath(__file__)) + "/cnerg.jpg"
    image.position = (0.02, 0.02)
    image.width = 10
    image.height = 10

    Vi.DrawPlots()
    if args.images:
        if args.timestamp:
            attributes = Vi.GetAnnotationAttributes()
            attributes.userInfoFlag = 0
            Vi.SetAnnotationAttributes(attributes)
        Vi.SaveWindow()

    # Create the second plot of the XY plane slice.
    plane_slice_plotting(2, 2, "XY Plane", args.images, args.timestamp)

    # Create the third plot of the XZ plane slice.
    plane_slice_plotting(3, 1, "XZ Plane", args.images, args.timestamp)

    # Create the fourth plot of the YZ plane slice.
    plane_slice_plotting(4, 0, "ZY Plane", args.images, args.timestamp)

    # Display the four windows in a 2x2 grid.
    Vi.SetWindowLayout(4)

    # Save the session file with the default VisIt output to the current directory.
    visit_output = "VisitDefaultOutput.session"
    Vi.SaveSession(visit_output)
    Vi.Close()

    # Retrieve the path to the VisIt session file.
    session_file_path = os.path.join(os.getcwd(), visit_output)

    # If the user has indicated to, open the session file with the VisIt GUI.
    if args.openvisit:
        os.system("visit -sessionfile {} &".format(session_file_path))

    # If the user has indicated to, remove the session file after VisIt has opened.
    if not args.sessionfile:
        os.system("sleep 10; rm {}".format(session_file_path))
コード例 #11
0
    }]

    Vi.LaunchNowin()
    for file in Files:
        Vi.OpenDatabase(file["file_name"])
        Vi.AddPlot(file["plot_type"], file["data_tag"])

    # Hide the contour plot in the first plot window.
    Vi.SetActivePlots(2)
    Vi.HideActivePlots()

    # Create the plot of the cube by activating the mesh and pseudocolor plots.
    Vi.SetActivePlots((0, 1))

    # Set the view normal to the first octant.
    v = Vi.GetView3D()
    v.viewNormal = (1, 1, 1)
    Vi.SetView3D(v)

    # Apply a clip through the first octant.
    Vi.AddOperator("Clip")
    c = Vi.ClipAttributes()
    c.plane1Origin = (40, 40, 40)
    c.plane1Normal = (1, 1, 1)
    Vi.SetOperatorOptions(c)

    # Include the CNERG logo in the bottom left corner of the plot.
    image = Vi.CreateAnnotationObject("Image")
    image.image = os.path.dirname(os.path.abspath(__file__)) + "/cnerg.jpg"
    image.position = (0.02, 0.02)
    image.width = 10
コード例 #12
0
def Orbit(Files, OrbitOptions, OperatorSet=False):
    """
    Take multiple views around vertically, horizontally, or both.
    Views are evenly spaced.
    OrbitOptions = (<axis>, <number of views>).

    The higher the number of views the smoother the rotation.

    This assumes the following positive axis orientation:
    y - Up
    x - Right
    z - Out from screen
    """

    Pa.PathCreator()  # Creates necessary folders.

    OrbitOptions = tuple(OrbitOptions)

    Line = str(OrbitOptions[0])
    Number = int(OrbitOptions[1])

    Increment = 360.0 / float(Number)  # Degrees

    Image = Mk.MakeImages(Files)
    Image.Plot()

    # Multiple Operators.
    try:
        for multiitem in OperatorSet:

            # Apply dictionary operator.
            try:
                Operator = (multiitem.keys())[0]
                List = (multiitem.values())[0]
                Image.Operator(Operator, List, SliceProject=0)
            except Exception:
                pass

            # Apply list operator.
            try:
                Operator = multiitem[0]
                List = multiitem[1]
                Image.Operator(Operator, List, SliceProject=0)
            except Exception:
                pass

    except Exception:
        pass

    # Define which orbits to do.
    orbitSettings = {}
    orbitSettings["vertical"] = {"Line": 0}
    orbitSettings["horizontal"] = {"Line": 1}

    # Choose which orbits to do.
    if OrbitOptions[0].lower() == "both":
        OrbitOptions = ["vertical", "horizontal"]

    for orbit in OrbitOptions:
        Vi.ResetView()
        try:
            Line = orbitSettings[orbit]["Line"]

            v = Vi.GetView3D()
            v.viewNormal = (0, 0, 1)
            v.viewUp = (0, 1, 0)

            Degrees = 0
            while 360.0 > Degrees:
                # Turning shading False yields black images.
                Image.Save(Shading=True)
                v.RotateAxis(Line, Increment)
                Vi.SetView3D(v)
                Degrees += Increment

        except Exception:
            pass
コード例 #13
0
"""Script for saving the changed attribute files
"""

import visit as vi

view_attr_file = 'view_attr.xml'
annotation_attr_file = 'anno_attr.xml'
plasma_attr_file = 'plasma_attr.xml'
wave_attr_file = 'wave_attr.xml'

vi.SaveAttribute(view_attr_file, vi.GetView3D())
vi.SaveAttribute(annotation_attr_file, vi.GetAnnotationAttributes())
vi.SetActivePlots(0)
vi.SaveAttribute(plasma_attr_file, vi.GetPlotOptions())
vi.SetActivePlots(1)
vi.SaveAttribute(wave_attr_file, vi.GetPlotOptions())