7 from vtk.util import numpy_support as npvtk
8 # do I need to kill the pipeline?
10 def Extract_MED_data_over_line_to_csv_file(inputFileName, outputFileName,
14 pvs._DisableFirstRenderCameraReset()
15 data_vtu = MEDReader.Reader(FileName=[inputFileName])
16 PlotOverLine1 = pvs.PlotOverLine(Source="High Resolution Line Source"
18 PlotOverLine1.Source.Point1 = point1
19 PlotOverLine1.Source.Point2 = point2
20 PlotOverLine1.Source.Resolution = resolution
21 writer = pvs.CreateWriter(outputFileName, PlotOverLine1)
22 writer.FieldAssociation = "Cells" # or "Points" (default in cdmath is finite volumes)
23 writer.UpdatePipeline()
25 def Extract_MED_data_over_line_to_numpyArray(inputFileName, point1, point2, resolution):
26 pvs._DisableFirstRenderCameraReset()
27 data_vtu = MEDReader.Reader(FileName=[inputFileName])
28 PlotOverLine1 = pvs.PlotOverLine(Source="High Resolution Line Source"
30 PlotOverLine1.Source.Point1 = point1
31 PlotOverLine1.Source.Point2 = point2
32 PlotOverLine1.Source.Resolution = resolution
34 vtkarray = PlotOverLine1.GetCellData() # or Slice1.GetCellData() # or Clip1.GetCellData()
35 numpy_array = npvtk.vtk_to_numpy(vtkarray)
39 def Extract_field_data_over_line_to_numpyArray(field, point1, point2, resolution):
40 field.writeMED(field.get_name())
41 inputFileName = os.getcwd()+field.get_name()+".med"
43 result = Extract_MED_data_over_line_to_numpyArray(inputFileName, point1, point2, resolution)
45 os.remove(inputFileName)
48 def Slice_MED_data_over_line_to_numpyArray(inputFileName, point, normal):
49 pvs._DisableFirstRenderCameraReset()
50 data_vtu = MEDReader.Reader(FileName=[inputFileName])
51 Slice1 = pvs.Slice(SliceType="Plane")
52 Slice1.SliceOffsetValues = [0.0]
53 Slice1.SliceType.Origin = point
54 Slice1.SliceType.Normal = normal
55 CellCenters1 = pvs.CellCenters()
57 vtkarray = Slice1.GetCellData() # or PlotOverLine1.GetCellData() # or Clip1.GetCellData()
58 numpy_array = npvtk.vtk_to_numpy(vtkarray)
62 def Slice_MED_data_over_line_to_csv_file(inputFileName,
66 pvs._DisableFirstRenderCameraReset()
67 data_vtu = MEDReader.Reader(FileName=[inputFileName])
68 Slice1 = pvs.Slice(SliceType="Plane")
69 Slice1.SliceOffsetValues = [0.0]
70 Slice1.SliceType.Origin = point
71 Slice1.SliceType.Normal = normal
72 CellCenters1 = pvs.CellCenters()
73 writer = pvs.CreateWriter(outputFileName, CellCenters1)
75 writer.FieldAssociation = "Cells" # or "Points" (default in cdmath is finite volumes)
76 writer.UpdatePipeline()
78 def Slice_field_data_over_line_to_numpyArray(field,
82 field.writeMED(field.get_name())
83 inputFileName = os.getcwd()+field.get_name()+".med"
85 result = Slice_MED_data_over_line_to_numpyArray(inputFileName, point1, point2, resolution)
87 os.remove(inputFileName)
90 def Save_MED_to_picture_file(inputFileName, field_name,POINTS_or_CELLS,
93 data_med = MEDReader.Reader(FileName=[inputFileName])
95 renderView1 = GetActiveViewOrCreate('RenderView')
96 # uncomment following to set a specific view size
97 # renderView1.ViewSize = [1052, 476]
100 display = Show(data_med, renderView1)
102 # reset view to fit data
103 renderView1.ResetCamera()
105 #changing interaction mode based on data extents
106 renderView1.InteractionMode = '2D'
107 renderView1.CameraPosition = [0.5, 0.5, 10000.0]
108 renderView1.CameraFocalPoint = [0.5, 0.5, 0.0]
110 # set scalar coloring
111 ColorBy(display, (POINTS_or_CELLS, field_name))
113 # rescale color and/or opacity maps used to include current data range
114 display.RescaleTransferFunctionToDataRange(True, False)
116 # show color bar/color legend
117 display.SetScalarBarVisibility(renderView1, True)
119 # get color transfer function/color map for 'Initialvariablesforsphericalexplosion'
120 resultfieldLUT = GetColorTransferFunction(field_name)
122 # get opacity transfer function/opacity map for 'Initialvariablesforsphericalexplosion'
123 resultfieldPWF = GetOpacityTransferFunction(field_name)
125 SaveScreenshot(outputFileName)