• Antelope Release 5.2-64 Linux Red Hat Enterprise Workstation release 6.2 (Santiago) 2.6.32 2012-04-24

 

NAME

pythondatascope - Python interface to Datascope

SYNOPSIS

sys.path.append( os.environ['ANTELOPE'] + '/data/python' )

import antelope.datascope as datascope

Procedural Functions:

db =
datascope.dbopen (dbname, perm="r")

db =
datascope.dbopen_table (dbname, perm="r")

rc =
datascope.dbclose (db)

rc =
datascope.dbdelete (db)

rc =
datascope.dbmark (db)

rc =
datascope.dbcrunch (db)

rc =
datascope.dbtruncate (db, nrecords)

rc =
datascope.dbdestroy (tr)

db =
datascope.dbtmp (schema)

rc =
datascope.dbcreate (filename, schema, dbpath = None, description = None, detail = None)

rc =
datascope.dbfree (db)

db =
datascope.dblookup (db, database = '', table = '', field = '', record = '')

db =
datascope.dbsubset (db, expr, name = None)

db =
datascope.dblist2subset (db, list = None)

db =
datascope.dbseparate (db, tablename)

db =
datascope.dbsever (db, tablename, name = None)

val =
datascope.dbex_eval (db, expr, type = 0)

path =
datascope.dbextfile (db, tablename = None)

path =
datascope.dbfilename (db)

rc =
datascope.dbfind (db, expr, first = -1, reverse = False)

rows =
datascope.dbmatches (dbk, dbt, hookname, kpattern = None, tpattern = None)

db =
datascope.dbprocess (db, list)

db =
datascope.dbinvalid ()

db =
datascope.dbsort (db, keys, unique = False, reverse = False, name = None)

db =
datascope.dbjoin (db1, db2, pattern1 = None, pattern2 = None, outer = False, name = None)

db =
datascope.dbnojoin (db1, db2, pattern1 = None, pattern2 = None, name = None)

db =
datascope.dbtheta (db1, db2, ex_str, outer = False, name = None)

rc =
datascope.dbunjoin (db, database_name, rewrite = False)

db =
datascope.dbgroup (db, groupfields, name = None, type = 1)

db =
datascope.dbungroup (db, name = None)

(s,e) =
datascope.dbget_range (db)

xml =
datascope.db2xml (db, rootnode = None, rownode = None, fields = None, expressions = None, primary = False)

rc =
datascope.dbaddnull (db)

rc =
datascope.dbaddv (db, field, value [, field, value...], table = None)

rec =
datascope.dbget (db, scratch = None)

rc =
datascope.dbput (db, record = None )

rc =
datascope.dbadd (db, record = None )

vals =
datascope.dbgetv (db, field [, field...], table = None)

rc =
datascope.dbputv (db, field, value [, field, value...], table = None)

res =
datascope.dbquery (db, code)

id =
datascope.dbnextid (db, name)

rc =
datascope.trfilter (tr, filter_string)

((t,v),(t,v),...) =
datascope.trsample (db, t0, t1, sta, chan, apply_calib = False, filter = None)

((t,min,max),(t,min,max),...) =
datascope.trsamplebins (db, t0, t1, sta, chan, binsize, apply_calib = False, filter = None)

tr =
datascope.trloadchan (db, t0, t1, sta, chan)

tr =
datascope.trload_css (db, t0, t1, tr = None, table = None)

tr =
datascope.trload_cssgrp (db, t0, t1, tr = None, table = None)

rc =
datascope.trapply_calib (tr)

data =
datascope.trdata (tr)

((min,max),(min,max),...) =
datascope.trdatabins (tr, binsize)

rc =
datascope.trputdata (tr, data)

rc =
datascope.trrotate (tr, phi_deg, theta_deg, newchan)

rc =
datascope.trrotate_to_standard (tr, newchan = ('E','N','Z'))

rc =
datascope.trsplice (tr)

(rc, units, desc) =
datascope.trlookup_segtype (segtype)

(rc, path) =
datascope.trwfname (db, pattern)

rc =
datascope.trtruncate (tr, leave)

rc =
datascope.trfree (tr)

rc =
datascope.trdestroy (tr)

rc =
datascope.trsplit (tr)

rc =
datascope.trsave_wf (tr, db, datatype = None, wfname = None, append = False, overwrite = False)

trout =
datascope.trcopy (trin, trout = None)

Object-Oriented Methods:

db = Dbptr()
db = Dbptr(list)
db = Dbptr(path)
db = Dbptr(path, perm)
db = Dbptr(value=list)
db = Dbptr(dbname=path)
db = Dbptr(dbname=path, perm='r')

db.database
db.table
db.field
db.record

db[0], db[1], db[2], db[3]

db.addnull ()
db.addv (...)
db.close ()
db.crunch ()
db.dbdestroy ()
db.delete ()
db.ex_eval (...)
db.extfile (...)
db.filename ()
db.find (...)
db.free ()
db.get (...)
db.getrange ()
db.getv (...)
db.group (...)
db.invalid ()
db.join (...)
db.list2subset (...)
db.load_css (...)
db.load_cssgrp (...)
db.loadchan (...)
db.lookup (...)
db.mark ()
db.matches (...)
db.nextid (...)
db.nojoin (...)
db.nrecs ()
db.process (...)
db.put (...)
db.putv (...)
db.query (...)
db.sample (...)
db.samplebins (...)
db.separate (...)
db.sever (...)
db.sort (...)
db.subset (...)
db.theta (...)
db.trtruncate (...)
db.truncate (...)
db.trwfname (...)
db.ungroup (...)
db.unjoin (...)
db.xml (...)
tr.apply_calib ()
tr.data ()
tr.databins ()
tr.filter (...)
tr.rotate (...)
tr.rotate_to_standard (...)
tr.save_wf (...)
tr.splice ()
tr.split ()
tr.trcopy (...)
tr.trdestroy ()
tr.trfree ()

DESCRIPTION

The Python Interface to Datascope allows one to perform operations on Datascope databases from the Python scripting language. Many of these python functions are direct wrappers around the C-language interfaces in the Datascope library. This man-page documents the syntax of these commands as represented in this Python interface. Further information on how to use any given command and the actual work it performs may be obtained from the man page for the C-language version of the respective command. For example, this man page will explain the syntax of the python dbsubset function. However, for a full explanation of dbsubset, see the dbsubset(3) man page. The python calls may be used in two ways, either in a procedural style or in an object style invocation. Either way, a database pointer is returned, which is a Python object containing four fields, the standard database, table, field, and record indices (for further information see dbintro(3)). Database pointers may be addressed one of several ways. For example, to address the record number, you can use

>>> db = datascope.dbopen( '/opt/antelope/data/db/demo/demo','r')
>>> db
[Dbptr:
        database = 0
        table    = -501
        field    = -501
        record   = -501
]

>>> db.record
-501

>>> db[3]
-501

>>> db['record']
-501
>>>

Datascope functions

datascope Constants

The following named constants are defined for use by the datascope module:

datascope.dbALL                    datascope.dbALTERNATE_KEY          datascope.dbBDOUBLE
datascope.dbBFLOAT                 datascope.dbBINT                   datascope.dbBOOLEAN
datascope.dbBSHORT                 datascope.dbCOUNT                  datascope.dbDATABASE_COUNT
datascope.dbDATABASE_DESCRIPTION   datascope.dbDATABASE_DETAIL        datascope.dbDATABASE_FILENAME
datascope.dbDATABASE_FILES         datascope.dbDATABASE_IS_WRITABLE   datascope.dbDATABASE_IS_WRITEABLE
datascope.dbDATABASE_NAME          datascope.dbDBPATH                 datascope.dbDBPTR
datascope.dbDESCRIPTION            datascope.dbDETAIL                 datascope.dbFIELD_BASE_TABLE
datascope.dbFIELD_COUNT            datascope.dbFIELD_DESCRIPTION      datascope.dbFIELD_DETAIL
datascope.dbFIELD_FORMAT           datascope.dbFIELD_INDEX            datascope.dbFIELD_NAME
datascope.dbFIELD_RANGE            datascope.dbFIELD_SEPARATOR        datascope.dbFIELD_SIZE
datascope.dbFIELD_TABLES           datascope.dbFIELD_TYPE             datascope.dbFIELD_UNITS
datascope.dbFOREIGN_KEYS           datascope.dbFORMAT                 datascope.dbIDSERVER
datascope.dbINTEGER                datascope.dbINVALID                datascope.dbLASTIDS
datascope.dbLINK                   datascope.dbLINK_FIELDS            datascope.dbLOCKS
datascope.dbNAME                   datascope.dbNULL                   datascope.dbOUTER_JOIN
datascope.dbPRIMARY_KEY            datascope.dbREAL                   datascope.dbRECORD_COUNT
datascope.dbRECORD_SEPARATOR       datascope.dbRECORD_SIZE            datascope.dbRESPONSE
datascope.dbSCHEMA_DEFAULT         datascope.dbSCHEMA_DESCRIPTION     datascope.dbSCHEMA_DETAIL
datascope.dbSCHEMA_FIELDS          datascope.dbSCHEMA_LIST            datascope.dbSCHEMA_NAME
datascope.dbSCHEMA_TABLES          datascope.dbSCRATCH                datascope.dbSIZE
datascope.dbSORT_REVERSE           datascope.dbSORT_UNIQUE            datascope.dbSTRING
datascope.dbTABLE_ADDRESS          datascope.dbTABLE_COUNT            datascope.dbTABLE_CREATION
datascope.dbTABLE_DESCRIPTION      datascope.dbTABLE_DETAIL           datascope.dbTABLE_DIRNAME
datascope.dbTABLE_FIELDS           datascope.dbTABLE_FILENAME         datascope.dbTABLE_IS_ADDABLE
datascope.dbTABLE_IS_TRANSIENT     datascope.dbTABLE_IS_VIEW          datascope.dbTABLE_IS_WRITABLE
datascope.dbTABLE_IS_WRITEABLE     datascope.dbTABLE_NAME             datascope.dbTABLE_PRESENT
datascope.dbTABLE_SIZE             datascope.dbTIME                   datascope.dbTIMEDATE_NAME
datascope.dbTYPE                   datascope.dbUNIQUE_ID_NAME         datascope.dbVIEW_TABLE_COUNT
datascope.dbVIEW_TABLES            datascope.dbWAVEFORM               datascope.dbYEARDAY

datascope.strEXPR                  datascope.strFIELD                 datascope.strINTEGER
datascope.strNULL                  datascope.strREAL                  datascope.strSTRING
datascope.strTIME                  datascope.strUNKNOWN

EXAMPLE

A short example is shown below.

import sys
import os
import pylab

sys.path.append( os.environ['ANTELOPE'] + '/data/python' )

from antelope.datascope import *

db = dbopen( "/opt/antelope/data/db/demo/demo", "r" )

tr = trloadchan( db, 706139719.05000, 706139855.95000, "TKM", "BHZ" )

tr[3] = 0

v = trdata( tr )

pylab.plot(v)

pylab.savefig('dataplot.png',dpi=100)

os.system( "open dataplot.png" )

RETURN VALUES

The methods defined on Dbptr objects return the same values as their corresponding procedural equivalents.

SEE ALSO

antelope_python(3y), pythondatascope_raw(3y)

AUTHOR

Kent Lindquist
Printer icon