Up | Draw | Overlay | Tool | Toollist | Timer | SPB | Camera | CameraImage | Bitmap | Historylist - ImageBuffer | Clipboard | ScorpionGeometry | Statistics | Curve | States | Logging | Panels | Shared Memory | BarCode Reader | StdCtrls

Release Notes
 

  

 
SPB

The SPB module is an external python module. To be available in python script the SPB module must be imported- see example.

The SPB module provides access to the Scorpion configuration file - scorpion.spb. The Scorpion configuration file format is based on xml. SPB stands for Structured Property Bag. In Scorpion spb is used as a default extention for spbxml files.

The Spb class

The following methods are available in SPB module to create an spb object:

  • CreateSpb() - creates an emtpy spb object.
  • CreateSpb(spbxml) - creates a spb object from an spbxml document
  • CreateSpb(filename) - creates a spb object from a spbxml document on disk 
Property Access Type Description
root R/W string the spb root - may be used to specify sections/entries relative to root instead of absolute path 
delimiter R string the spb delimiter (normally dot, '.')
xml R/W string the spb as a SPB xml document

Note: All methods is relative to the root attribute, but the named section or entry may also contain sub-sections.

Method Returns Description
isSection(path) 0/1 returns true/false wether the sectionexists or not
addSection(path) 0/1 creates section. Returns true if created, false if creation failed or already exists
deleteSection(path) 0/1 deletes section. returns true if exists, else false
isEntry(entry) 0/1 returns true if the entry exists
getEntryType(entry) value returns the datatype as text of entry if existing else None
Supported types are:
  • 'bool'
  • 'int',
  • 'float',
  • 'text',
  • 'bin' 
deleteEntry(entry) 0/1 delete entry, returns true if existing and deleted
getBool(entry) value returns spb value if entry exists as 0 or 1, else None
getInt(entry) value returns spb value if entry exists as integer type, else None
getFloat(entry) value returns spb value if entry exists as float type, else None
getText(entry) value returns spb value if entry exists as text type, else None
setBool(entry,value) 0/1 returns true if success, false if entry exists of another type 
setInt(entry,value) 0/1 returns true if success, false if entry exists of another type 
setFloat(entry,value) 0/1 returns true if success, false if entry exists of another type 
setText(entry,value) 0/1 returns true if success, false if entry exists of another type 
getSections(path) tuple returns a tuple of section names in given path
getEntrys(path) tuple returns a tuple of entrys in given path
load(filename) 0/1 loads a spb xml document from disk
save(filename) 0/1 saves the spb xml to disk

Note: The tool configuration can be browsed using the SPBEditor utility. The SPBEditor is activated from Service.General

Example 1 - Change tool configuration using the SPB

import SPB
tool=GetTool('FindReference')
spb=SPB.CreateSpb(tool.config)
spb.setFloat('ROI.x',10)  
spb.setFloat('ROI.y',15)
tool.config=spb.xml

Example 2 - Save a tool to a disk file

import SPB
tool=GetTool('FindReference')
spb=SPB.CreateSpb(tool.config)
spb.save('tool.spb')

Example 3 - Load a tool to a disk file into a tool in the toolbox

import SPB
tool=GetTool('FindReference')
spb=SPB.CreateSpb()
spb.load('tool.spb')
tool.config = spb.xml

 

 

Scorpion Vision Version XII : Build 665 - Date: 20170919
Scorpion Vision Software® is a registered trademark of Tordivel AS.
Copyright © 2000 - 2017 Tordivel AS.