Python example: editing HV results

From GeopsyWiki
Revision as of 08:47, 22 October 2024 by Marc (talk | contribs) (Created page with "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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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


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