Difference between revisions of "Python example: editing HV results"

From GeopsyWiki
Jump to navigation Jump to search
Line 73: Line 73:
 
         gc.saveLayers_3(g.objectName()+"-average.layer", "Average")
 
         gc.saveLayers_3(g.objectName()+"-average.layer", "Average")
 
         gc.saveLayers_3(g.objectName()+"-stddev.layer", "Stddev")
 
         gc.saveLayers_3(g.objectName()+"-stddev.layer", "Stddev")
     
+
 
 
   def addLayer(s):
 
   def addLayer(s):
 
     n=s.numberOfObjects()
 
     n=s.numberOfObjects()

Revision as of 08:53, 22 October 2024

Import SciFigs module and create a blank sheet

 import GeopsyPySciFigs as sf
 s=sf.newSheet()

Open the .page file saved from Geopsy H/V module

 s.fileOpen_2("hv-before-9.10.page")

Import a few Python functions to manipulate graphical objects.

 import hvedit

Change the color and the width of the average and stddev curves

 hvedit.setRed(s)

Save the average and stddev layers

 hvedit.saveLayers(s)

Open other results with the same stations, change the width of curves and compare the results

 s.fileNew()
 s.fileOpen_2("hv-after-9.10.page")
 hvedit.setWidth(s)
 hvedit.addLayer(s)


 def setWidth(s):
   n=s.numberOfObjects()
   for i in range(0, n):
     g=s.object_1(i)
     print(g.objectName())
     # Average
     l=g.object(1).graphContents().layer(3)
     if l:
       leg=l.legend()
       pen=leg.child("LegendItem index='0'").child("Pen")
       pen.setValue("width", '0.3')
       l.setLegend(leg)
     # stddev
     l=g.object(1).graphContents().layer(4)
     if l:
       leg=l.legend()
       pen=leg.child("LegendItem index='0'").child("Pen")
       pen.setValue("width", '0.3')
       pen=leg.child("LegendItem index='1'").child("Pen")
       pen.setValue("width", '0.3')
       l.setLegend(leg)
 def setRed():
   n=s.numberOfObjects()
   for i in range(0, n):
     g=s.object_1(i)
     print(g.objectName())
     # Average
     l=g.object(1).graphContents().layer(3)
     if l:
       leg=l.legend()
       pen=leg.child("LegendItem index='0'").child("Pen")
       pen.setValue("color", '#FF0000')
       pen.setValue("width", '0.3')
       l.setLegend(leg)
     # stddev
     l=g.object(1).graphContents().layer(4)
     if l:
       leg=l.legend()
       pen=leg.child("LegendItem index='0'").child("Pen")
       pen.setValue("color", '#FF0000')
       pen.setValue("width", '0.3')
       pen=leg.child("LegendItem index='1'").child("Pen")
       pen.setValue("color", '#FF0000')
       pen.setValue("width", '0.3')
       l.setLegend(leg)
 def saveLayers(s):
   n=s.numberOfObjects()
   for i in range(0, n):
     g=s.object_1(i)
     print(g.objectName())
     gc=g.object(1).graphContents()
     if gc:
       gc.saveLayers_3(g.objectName()+"-average.layer", "Average")
       gc.saveLayers_3(g.objectName()+"-stddev.layer", "Stddev")
 def addLayer(s):
   n=s.numberOfObjects()
   for i in range(0, n):
     g=s.object_1(i)
     print(g.objectName())
     gc=g.object(1).graphContents()
     if gc:
       gc.insertLayers(g.objectName()+"-average.layer", "Stddev")
       gc.insertLayers(g.objectName()+"-stddev.layer", "Stddev")