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

From GeopsyWiki
Jump to navigation Jump to search
(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...")
 
Line 6: Line 6:
 
Import a few Python functions to manipulate graphical objects.  
 
Import a few Python functions to manipulate graphical objects.  
 
   import hvedit
 
   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):
 
   def setWidth(s):
   
 
 
     n=s.numberOfObjects()
 
     n=s.numberOfObjects()
 
 
     for i in range(0, n):
 
     for i in range(0, n):
 
       g=s.object_1(i)
 
       g=s.object_1(i)
Line 34: Line 41:
 
   def setRed():
 
   def setRed():
 
     n=s.numberOfObjects()
 
     n=s.numberOfObjects()
 
 
     for i in range(0, n):
 
     for i in range(0, n):
 
       g=s.object_1(i)
 
       g=s.object_1(i)
Line 59: Line 65:
  
 
   def saveLayers(s):
 
   def saveLayers(s):
   
 
 
     n=s.numberOfObjects()
 
     n=s.numberOfObjects()
 
 
     for i in range(0, n):
 
     for i in range(0, n):
 
       g=s.object_1(i)
 
       g=s.object_1(i)
Line 71: Line 75:
 
        
 
        
 
   def addLayer(s):
 
   def addLayer(s):
   
 
 
     n=s.numberOfObjects()
 
     n=s.numberOfObjects()
 
 
     for i in range(0, n):
 
     for i in range(0, n):
 
       g=s.object_1(i)
 
       g=s.object_1(i)

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