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()
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)
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()
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()
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()
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