コード例 #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
ファイル: plotPowNorm.py プロジェクト: nanshawn/Puffin
def plotPowNorm(localPowerAllDB):
  data=visit.OpenDatabase(localPowerAllDB,0,'Vs')
  visit.AddPlot('Pseudocolor','power_SI_Norm')  
  visit.DrawPlots()
  View2DAtts = visit.View2DAttributes()
#  View2DAtts.windowCoords = (0, 30, 0, 15.0796)
#  View2DAtts.viewportCoords = (0.2, 0.95, 0.15, 0.95)
#  View2DAtts.fullFrameAutoThreshold = 100
  View2DAtts.xScale = View2DAtts.LINEAR  # LINEAR, LOG
  View2DAtts.yScale = View2DAtts.LINEAR  # LINEAR, LOG
  View2DAtts.windowValid = 1
  View2DAtts.fullFrameActivationMode = View2DAtts.On  # On, Off, Auto
  #View2DAtts.fullFrameAutoThreshold = 100
  visit.SetView2D(View2DAtts)
  visit.ResetView()
  AnnotationAtts = visit.AnnotationAttributes()
  AnnotationAtts.userInfoFlag = 0
  AnnotationAtts.databaseInfoFlag = 0
  AnnotationAtts.axes2D.xAxis.title.userTitle = 1
  AnnotationAtts.axes2D.xAxis.title.userUnits = 1
  AnnotationAtts.axes2D.xAxis.title.title = "ct-z"
  AnnotationAtts.axes2D.xAxis.title.units = "m"
  AnnotationAtts.axes2D.yAxis.title.userTitle = 1
  AnnotationAtts.axes2D.yAxis.title.userUnits = 1
  AnnotationAtts.axes2D.yAxis.title.title = "z"
  AnnotationAtts.axes2D.yAxis.title.units = "m"
  # AnnotationAtts.legendInfoFlag = 0
  visit.SetAnnotationAttributes(AnnotationAtts)
コード例 #3
0
ファイル: binPhase.py プロジェクト: nanshawn/Puffin
def binPhase(eDB):
    visit.OpenDatabase(eDB, 0)
    visit.AddPlot("Pseudocolor", "operators/DataBinning/2D/electrons", 1, 1)
    DataBinningAtts = visit.DataBinningAttributes()
    DataBinningAtts.numDimensions = DataBinningAtts.Two  # One, Two, Three
    DataBinningAtts.dim1BinBasedOn = DataBinningAtts.Variable  # X, Y, Z, Variable
    DataBinningAtts.dim1Var = "electrons_zSI"
    DataBinningAtts.dim1SpecifyRange = 1
    DataBinningAtts.dim1MinRange = 0
    DataBinningAtts.dim1MaxRange = 1.0E-7
    DataBinningAtts.dim1NumBins = 100
    DataBinningAtts.dim2BinBasedOn = DataBinningAtts.Variable  # X, Y, Z, Variable
    DataBinningAtts.dim2Var = "electrons_gamma"
    DataBinningAtts.dim2SpecifyRange = 1
    DataBinningAtts.dim2MinRange = 0.991
    DataBinningAtts.dim2MaxRange = 1.005
    DataBinningAtts.dim2NumBins = 100
    DataBinningAtts.outOfBoundsBehavior = DataBinningAtts.Clamp  # Clamp, Discard
    DataBinningAtts.reductionOperator = DataBinningAtts.Sum  # Average, Minimum, Maximum, StandardDeviation, Variance, Sum, Count, RMS, PDF
    DataBinningAtts.varForReduction = "electrons_chargeSI"
    DataBinningAtts.emptyVal = 0
    DataBinningAtts.outputType = DataBinningAtts.OutputOnBins  # OutputOnBins, OutputOnInputMesh
    DataBinningAtts.removeEmptyValFromCurve = 1
    visit.SetOperatorOptions(DataBinningAtts, 1)
    visit.SetTimeSliderState(0)
    visit.SetTimeSliderState(1)
    PseudocolorAtts = visit.PseudocolorAttributes()
    PseudocolorAtts.centering = PseudocolorAtts.Nodal  # Natural, Nodal, Zonal
    PseudocolorAtts.opacityType = PseudocolorAtts.Ramp  # ColorTable, FullyOpaque, Constant, Ramp, VariableRange
    PseudocolorAtts.colorTableName = "hot_desaturated"
    visit.SetPlotOptions(PseudocolorAtts)

    View2DAtts = visit.View2DAttributes()
    View2DAtts.fullFrameActivationMode = View2DAtts.On
    #  View2DAtts.fullFrameAutoThreshold = 100
    visit.SetView2D(View2DAtts)
    visit.ResetView()

    AnnotationAtts = visit.AnnotationAttributes()
    AnnotationAtts.axes2D.yAxis.grid = 0
    AnnotationAtts.axes2D.xAxis.grid = 0
    AnnotationAtts.axes2D.xAxis.title.userTitle = 1
    AnnotationAtts.axes2D.xAxis.title.userUnits = 1
    AnnotationAtts.axes2D.xAxis.title.title = "ct-z"
    AnnotationAtts.axes2D.xAxis.title.units = "m"
    AnnotationAtts.axes2D.yAxis.title.userTitle = 1
    AnnotationAtts.axes2D.yAxis.title.userUnits = 1
    AnnotationAtts.axes2D.yAxis.title.title = "gamma"
    AnnotationAtts.axes2D.yAxis.title.units = ""
    AnnotationAtts.userInfoFlag = 0
    AnnotationAtts.databaseInfoFlag = 0
    # AnnotationAtts.legendInfoFlag = 0
    visit.SetAnnotationAttributes(AnnotationAtts)
    visit.DrawPlots()
コード例 #4
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()
コード例 #5
0
ファイル: surfIntens.py プロジェクト: nanshawn/Puffin
def surfIntens(fDB):
    visit.OpenDatabase(fDB, 0)
    visit.AddPlot("Pseudocolor", "operators/DataBinning/2D/meshScaled", 1, 1)
    DataBinningAtts = visit.DataBinningAttributes()
    DataBinningAtts.numDimensions = DataBinningAtts.Two  # One, Two, Three
    DataBinningAtts.dim1BinBasedOn = DataBinningAtts.X  # X, Y, Z, Variable
    DataBinningAtts.dim1Var = "default"
    DataBinningAtts.dim1SpecifyRange = 0
    DataBinningAtts.dim1MinRange = 0
    DataBinningAtts.dim1MaxRange = 1
    DataBinningAtts.dim1NumBins = 85
    DataBinningAtts.dim2BinBasedOn = DataBinningAtts.Y  # X, Y, Z, Variable
    DataBinningAtts.dim2Var = "default"
    DataBinningAtts.dim2SpecifyRange = 0
    DataBinningAtts.dim2MinRange = 0
    DataBinningAtts.dim2MaxRange = 1
    DataBinningAtts.dim2NumBins = 85
    DataBinningAtts.dim3BinBasedOn = DataBinningAtts.Variable  # X, Y, Z, Variable
    DataBinningAtts.dim3Var = "default"
    DataBinningAtts.dim3SpecifyRange = 0
    DataBinningAtts.dim3MinRange = 0
    DataBinningAtts.dim3MaxRange = 1
    DataBinningAtts.dim3NumBins = 50
    DataBinningAtts.outOfBoundsBehavior = DataBinningAtts.Clamp  # Clamp, Discard
    DataBinningAtts.reductionOperator = DataBinningAtts.Average  # Average, Minimum, Maximum, StandardDeviation, Variance, Sum, Count, RMS, PDF
    DataBinningAtts.varForReduction = "intensityScaled"
    DataBinningAtts.emptyVal = 0
    DataBinningAtts.outputType = DataBinningAtts.OutputOnBins  # OutputOnBins, OutputOnInputMesh
    DataBinningAtts.removeEmptyValFromCurve = 1
    visit.SetOperatorOptions(DataBinningAtts, 1)
    View2DAtts = visit.View2DAttributes()
    View2DAtts.fullFrameActivationMode = View2DAtts.On
    #  View2DAtts.fullFrameAutoThreshold = 100
    visit.SetView2D(View2DAtts)
    visit.ResetView()
    PseudocolorAtts = visit.PseudocolorAttributes()
    PseudocolorAtts.centering = PseudocolorAtts.Nodal  # Natural, Nodal, Zonal
    visit.SetPlotOptions(PseudocolorAtts)
    visit.DrawPlots()
コード例 #6
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