[HOME][CONTENTS][DOWNLOAD][PREV][NEXT]


XBIT OBJECT

An XBit object is encapsulation of code and data which can be retrieved and modified in Tcl and C.  An XBit object can be either used directly by XBit package in C or wrapped with Tcl in a customized Tcl application.  Many XBit objects are built based on a generic-object specification with the following Tcl API: 

object.create objName ?option?creates an object instance identified by objName, where object is a specific class name of an XBit object. Available options are -file and -update, where -file specifies a name of a file that contains an object's attributes, -update specfies a boolean to indicates if the objName will invoke client's callbacks when the objName's attributes are updated.
objName cget option retrieves a value of a specified option.
objName class returns the class name, i.e., object, of the object instance.
objName clone newObjName clones a new object identified as newObjName.
objName close closes or deletes the object.
objName config ?options? configurates the object.  It returns the current configuration list if no options are specified.
objName count counts basic entries of the object.  For a gtable or shape object, basic entries are records.  For a proj object, basic entries are different types of projections.  For a stats or eigen object, basic entries are stats and eigen vectors.
objName modified returnes a '1' if the object has been changed. Otherwise it returns a '0'.
objName save fileName saves the contents of the objName into a file named as fileName.
objName version returns the version number of the current object.
eigen - an object to retrieve information of image eigen vectors calculated by Tcl command rimage egv.  It is based on the generic-object specifcation with the following additional Tcl API:
eigen.create eigenobjName ?option? creates an eigen object.
eigenobjName accumpct returns a list of accumulated percentages of eigen values.
eigenobjName band returns a list of image bands used to calculate the eigen vectors.
eigenobjName info returns additional information when the object's contents is generated. For eigen object generated by rimage egv command, a list of four items regarding the eigen object.  The frist item is a list of {stat image statid}, where stat is the statistics file name , image is the image file name and statid is the id or index number of the stats used to calculate the eigen vectors.  The second item is either Normalized to indicate that normalized statistics are used or Unnormalized to indicate that unnormalized statistics are used.  The third item is a list of the standard deviations of the statistics.  The fourth item is a list of means of the statistics.
eigenobjName pct returns a list of percentages of eigen values.
eigenobjName save filename saves the eigen object's contents into the specified file.
eigenobjName value returns a list of eigen values.
eigenobjName vector ?index? returns a list of an eigen vector, which is identified by index or the first eigen vector if index is not specified.
stats - an object to process image statistics.  It is based on the generic-object speicifcation with the following additional Tcl API: 
stats.create statsobjName ?option? creates a stats object.
statsobjName addroi index rimage x1 y1 [x2 y2] adds statistics of the samples in a region of interest (ROI) into a stat object. A ROI is specified by x1 y1 x2 y2 where x1 and x2 are left and right of a ROI and y1 and y2 are top and bottom of a ROI.  If x2 and y2 are not provided, a point is speciifed by x1 and y1.
statsobjName addsample index dataList adds a data smaple into a stat record specified by index.  The number of items in the dataList should be the same as those of the items of the band list.
statsobjName band returns the band description of the stats object in a Tcl list.
statsobjName correlation ?index? retuns the correlation matrix list of the stats specified by index.
statsobjName covariance ?index? returns the covariance maxtrix list of the stats specified by index.
statsobjName inforetuns additional information regarding the stats object.
statsobjName init nstats bandlist initialaizes a stats object with a specified number of  stats and band list.  The contents of the current stats object will be erased.
statsobjName iteminfo ?index? returns additional item's information.
statsobjName mean ?index? returns a stats item's mean in a Tcl list
statsobjName stdev ?index? returns a stats item's stdandard deviation in a Tcl list.
iso - an object to process image statistics of iterative-self organized classification calculated by rimage gisoc command.  It is based on the generic-object speicifcation with the following additional Tcl API: 
iso.create isoobjName ?option? creates a stats object named objName.  Currently only one option -file may be speicified to the file name of an image iso statistical file.
isoobjName addroi index rimage x1 y1 [x2 y2] adds statistics of the samepls in a region of interest (ROI) into an ISO object.  A ROI is specified by x1 y1 x2 y2 where x1 and x2 are left and right of a ROI and y1 and y2 are top and bottom of a ROI.  If x2 and y2 are not provided, a point is speciifed by x1 and y1.
isoobjName band returns image a list of bands used for the ISO classification.
isoobjName dmean ?index? returns mean differencials of the last iteration in a Tcl list.
isoobjName info returns a list of private iso object information. 
isoobjName init nClasses bandList initializes an ISO object with the speicified number of classes and image bands.
isoobjName mean ?index? returns a mean vector in a Tcl list.
isoobjName merge index nSamples meanList merges a list of mean values into a class of an ISO object.
isoobjName sum ?index? returns sums in a Tcl list. Note: an iso item's sums are used for accumulating totals in statitiscs calculation. They are set to zero when the calculation ends.
gcp - an object to generate mapping polynomials from graphic/ground control points (GCP).  A GCP object is used to handle a list of items {id x y u v}, where id is a unique integer (>0) identification number, x and y are the coordinates of a source map/image; u and v are the coordiantes of a destination map/image.  A GCP object can be used to enter/select/delete GCPs and to resolve polynomials u' = fu(x,y,n) and v' = fv(x,y,n), where n is the power of a polynomial, such that the mean squre root errors (u-u') and (v-v') are minimized.  It is based on the generic-object speicifcation with the following additional Tcl API: 
gcp.create gcpobjName ?option? creates a GCP object named objName.  Currently only one option -file may be speicified to the file name of a GCP object file.
gcpobjName calc x y  returns a pair of {u v} where u = fu(x,y,n) and v = fv(x,y,n), fu and fv are polynomials of n-th power based on the selected GCPs.
gcpobjName delete index deletes the GCP identified by index.
gcpobjName error ?id?... | all returns a list of erros of specified GCPs.
gcpobjName function power rosolves the polynomials of the specified power and calculates the errors.  It returns a list of three items {err fu(x,y,n) fv(x,y,n)} where fu(x,y,n) and fv(x,y,n) are lists of coeficients of the respective polynomials.
gcpobjName get ?index?... | all returns a list of GCPs.
gcpobjName id ?index?... | all returns a list of GCP ids.
gcpobjName reverse   reverses {x y} and {u v} of GCPs
gcpobjName savefunction fileName saves the polynomial functions to a diskfile.
gcpobjName select ?id?... | all selects GCPs.
gcpobjName set {id x y u v} adds a new or modifies an existing GCP.
gcpobjName setxy {id x y} sets x and y values of an existing GCP.
gcpobjName setuv {id u v} sets u and v values of an existing GCP.
proj - an object to calculate coordinates of map projection. The calculation is based on the PROJ.4 library (Copyright of Frank Warmerdam, http://www.remotesensing.org/proj).  Its Tcl API is based on the generic-object speicifcation with the following additional Tcl API: 
proj.create projobjName ?options? creates a projection object which can be configurated to calculate various mapping cooridinates.
projobjName info returns infomation of the current projection, e.g., a utm projection may have the following info: {a 6378137.000000} {e 0.081819} {lam0 -3.089233} {phi0 0.000000} {x0 500000.000000} {y0 0.000000} {k0 0.999600} {to_meter 1.000000} {fr_meter 1.000000} {datum_type UNKNOWN} {datum_params 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000}, where
a - semi axis, e - eccentricity; lam0 - central meridian; phi0 - central latitude; x0 - false easting (x offset);  y0 - false northing (y offset); k0 - general scaling factor; to_meter and fr_meter - cartesian scaling.
projobjName params returns a list of the current projection definition parameters including internal default params.
projobjName project u v returns a pair of conversion of input values u and v, which is either x and y or latitude and longitude depending on the value of -invoption.
projobjName projconfig ?options? configurates the proj object or returns the configuration option if only one option name is specified.
projobjName projget ?option? returns option value of the proj object.

Options for a proj object:
-projdef specifies a projection in a form of proj=projID, where projID is a projection identification. The default is proj=utm.  A projection specification is similar to those used by the proj command of PROJ package, e.g., "+proj=utm +zone=10" or "proj=utm zone=10" without the prefix '+'. For details, see Appedix 1 - Summary of program proj commands, Cartographic Projection Procedures Release 4 Interim Report by Gerald Evenden, September 24, 1995.
-inv specifies an integer flag for inverse calculation.  If the flag is set to 0, it calculates x and y from latitude and longitude. Otherwise it calculates latitude and longitude from x and y.  The default is 0.
-latitude specifies a value of latitude in degrees.
-longitude specifies a value of longitude in degrees.
-x specifies a value of x coordinate in meters.
-y specifies a value of y coordinate in meters.
-fmtxy specifies a format string for calculated x and y conversion.  The default is "%.12g".
-fmtll specifies a format string for calculated latitude and logitude conversion.  The default is "%.12g".

nad2nad - an object to transform coordinates system between NAD27 and NAD83. The calculation is based on the PROJ.4 library.  Its Tcl API is based on the generic-object speicifcation with the following additional Tcl API: 
nad2nad.create nad2nadobjName?options? creates a nad2nad object which can be configurated to calculate coordinate system transformation between NAD27 and NAD83.
nad2nadobjName nad2nadu v returns a pair of conversion of input values u and v, which are either x and y or longitude and latitude depending on specification of -onad option.
nad2nadobjName nadconfig  ?options? returns option of or configurates the nad2nad object.
nad2nadobjName nadgetoption returns option value of the nad2nad object.

Options for a nad2nad object:
-inad specifies a NAD definition for input coordinate system, e.g., "27,utm=10",  the default input NAD definition.
-onad specifies a NAD definition for output coordinate system, e.g., "83,utm=10", the default output NAD definition.
-r specifies a filename of a regional conversion table..  The default is conus.
-ix specifies an input value of x or longitude coodindate.
-iy specifies an input value of y or latitude coordinate.
-ox referes an output value of x or longitude coordinate.
-oy referes an output value of y or latitude coordinate.
-fmt specifies a format string for calculated x and y conversion.  The default is "%.12g".

cs2cs - an object for different coordinates system transformation based of the PROJ.4 library.  Its Tcl API is based on the generic-object speicifcation with the following additional Tcl API: 
cs2cs.create cs2csobjName?options? creates a projection object which can be configurated to perform coordinate system transformation.
cs2csobjName cs2csx y z  returns a triple {u v w}, which are coordinates of the projection specified by -ocs option.
cs2csobjName csconfig?options? returns option of or configurates the cs2cs object 
cs2csobjName csgetoption returns option value of the proj object.
cs2csobjName iinfo returns infomation of the input projection, such as semi axis, eccentricity, central meridian and latitude, false easting and northing, general scaling, cartesian scaling and etc.
cs2csobjName iparams returns a list of the input projection definition parameters including internal default params.
cs2csobjName oinfo returns infomation of the current projection, such as semi axis, eccentricity, central meridian and latitude, false easting and northing, general scaling, cartesian scaling and etc.
cs2csobjName oparams returns a list of the output projection definition parameters including internal default params.

Options for a cs2cs object::
-ics specifies a projection definition for an input coordinate system, e.g., "proj=utm zone=10 datum=NAD27",  the default input projection definition.
-ocs   specifies a projection definition for an output coordinate system, e.g., "proj=utm zone=10 datum=NAD83", the default output projection definition.
-ix specifies an input value of x or longitude coodindate.
-iy specifies an input value of y or latitude coordinate.
-iz specifies an input value of z.
-ox refers an output value of x or longitude coordinate.
-oy refers an output value of y or latitude coordinate.
-oz refers an output value of z.
-fmt specifies a format string for calculated x and y conversion.  The default is "%.12g".

geod - an object for geodesic calculation based on the PROJ.4 library.  Its Tcl API is based on the generic-object speicifcation with the following additional Tcl API: 
geod.creategeodobjName?options? creates a projection object which can be configurated to calculate geodecis of various cooridinate systems.
geodobjName calcarc lon lat A S n dA  returns a list of vertices in longitude and latifude of arc segments defined by {lon lat A S n dA} where n is the number of vertices excluding the start point (lon,lat), dA is the azimuth increment in unit of degrees at each vertex.
geodobjName calcgeodlon lat A S n  returns a llist of vertices in longitude and latitude of great circle segments defined by {lon lat A S n} where n is the number of vertices excluding the start point (lon,lat).
geodobjName geodconfig?options? returns option of or configurates the geod object.
geodobjName geodfwdlon lat A S  returns a triple of {longitude latitude azimuth} at the other end of a great circle segment defined by {lon lat A S}.
geodobjName geodgetoption returns option value of the proj object.
geodobjName geodinvlon1 lat1 lon2 lat2  returns triple of {A1 A2 S} of a great circle segment defined by {lon1 lat1 lon2 lat2}.

Options for a geod object:
-geod specifies a parametric string to describe the ellipsoid for geodesic calculation.  The defult is "ellps=clrk66"
-inv specifies a flag of inverted conversion: 0 for forward conversion, 1 for inverted conversion.
-lon_1 specifies a longitude of the first point.
-lat_1 specifies a latitude of the first point.
-lon_2 specifies a longitude of the second point.
-lat_2 specifies a latitude of the second point.
-A specifies an azimuth from the first pont to the second point in unit of degrees.
-S specifies a distance between the first and second points in unit of meters.
-fmt specifies a format string print calculated results.  The default is "%.12g".

Note: When option -inv is '0', values of -lon_2, -lat_2 will be calculated using values of -lon_1, -lat_1, -A and -S.  Otherwise, -A and -S will be calculated using values of -lon_1, -lat_1, -lon_2 and -lat_2.  The option -inv does not have any impact on geod object commands calcarc, calcgeod, geodfwd and geodinv.

shape - an object to manipulate a shape data.  It is based on the generic-object speicifcation with the following additional Tcl API: 
shape.create shapeobjName ?option? creates a shape object named objName.  Currently only one option -file may be speicified to the file name of a .shp file.
shapeobjName add verticeList ?partList? ?mvalueList? ?zvalueList? ?typeList?  adds a specified shape record at the end of the shape object.
shapeobjName aselect ?index?...  reverses the selection status of specified shape records.
shapeobjName bbox ?index?...   retrieves the boundary box of the shape object.  It consists of a list of four items: {left top right bottom}.  If the index is all, it retrieves all the bbox items of shape records.
shapeobjName centroid index ?average? calculates centroid of a polygon.  A polygon's centroid is defined by {x y area}, where x and y is the polygon's mass center coordiantes, area is the polygon's area which may be either positive for a clockwise polygon or negative for a count-clockwise polygon.  For a multi-part polygon, a list of centroids is returned for each polygon part if option average is not specified.  Otherwise an averaged centroid is calculated based on an area-weighted summary.
shapeobjName clone newObjName ?selected? clones a new object.  If the flag selected is presented, it duplicates only those selected records in the new object.
shapeobjName countselections returns the number of selected records.
shapeobjName countdeletions returns the number of deleted records.
shapeobjName deleteshape ?index? ... deletes the specified shape records by marking thire status as deleted.  A record marked as deleted will not participate in selection/unselection.  Using the command undeletedshape to change the status back to selected.
shapeobjName id ?index? ... returns a list of record ids (i.e., shape record numbers) specified by indices.  If no indices are given, it returns a list of all ids of the shape object.
shapeobjName isselected index returns 1 if the specified shape record is selected or 0 otherwise.
shapeobjName initialize shapeID initializes a shape object to a specific shape type identified by a valid shapeID: POINT, POLYLINE, POLYGON, MULTIPOINT, POINTZ, POLYLINEZ, POLYGONZ, MULTIPOINTZ, POPINTM, POLYINEM, POLYGONM, MULTIPOINTM, MULTIPATCH.  It erases all records in the shape object, and makes a new empty shape object of the speicified shapeID.
shapeobjName info returns a list of shape object information, i.e., {shapeID version shapeType fileLength count xMin yMin xMax yMax zMin zMax mMin mMax}.
shapeobjName insertrecord index verticeList ?partList? ?mvalueList? ?zvalueList? ?typeList? inserts a specified shape record befor the indexed shape record.
shapeobjName langleindex pIndex calculates orientation angles at the pIndex of the specified item, which is either a line or a polygon. Note: pIndex is a floating number.  Its integer part is an index of a line or a polygon component while its decimal part is the percentage of the line or polygon boundary length. A pIndex is used to specify a point along a line of a multi-line object or a point along a polygon boundary of a multi-polygon object.
shapeobjName length index ?index?... | all returns the total length of the specified shape record.
shapeobjName match tableObj matches the selections of the specified table object.
shapeobjName mvalues ?index?... | all prints lists of measurements.
shapeobjName parts ?index?... | all returns record part lists.  A record part list consists of a list of entries to the associated vertex list.  If  index is all, it returns a list of all record part lists of the shape object.
shapeobjName parts count ?index?...  returns the number of parts of specified records.  If index is not provided, it returns the total number of parts of all records.
shapeobjName patchtypes ?index?... | all returns record patch type lists.  For a MULTIPATCH record, each part has a type.  If  index is all, it returns a patch type list of all records of the shape object.
shapeobjName projdef proj_definition defines the map projection of the current shape object.  A projection definition is specified according to command line specification of the proj package.  If the shape object is in raw longitude and latitude coordinates, a proper projection definition is longlat for {long, lat} vertex or latlong for {lat, long} vertex.
shapeobjName projection proj_defintion performs a map projection to the specified parameters.  For example, objName projection "+proj=utm +zone=10" specifies a UTM projection of zone 10.  If the proj_definition is inverse, it performs a reversed map projection to change the coordinates back to longitude and latitude.
shapeobjName purge purges/erase the deleted records from the shape object.
shapeobjName save filename ?selected? saves the shape object in to a disk file.  If the flag selected is present, only those selected records will be saved.
shapeobjName select ?index?... selects the specified shape records.  If no indices are given, it selects all records of the shape object.
shapeobjName selectonly ?index?... selects the specified shape records and unselects others.
shapeobjName setmvalues index mvalueList ?offset? sets measurement values.
shapeobjName setpathctypes index pathTypeList ?offset? sets patch type values.
shapeobjName setrange calculates the shape object's data ranges including measurements, z values and boundary boxes.
shapeobjName setrecord index verticeList ?partList? ?mvalueList? ?zvalueList? ?typeList? overwrites a shape record at the index position.
shapeobjName setvetices index verticeList ?offset? sets vertice coordinates.
shapeobjName setzalues index zvalueList ?offset? sets z values.
shapeobjName undeleteshape ?index?... undeletes the specified shape records deleted previously and changes the status back to selected.
shapeobjName unselect ?index?... unselects the specified shape records.
shapeobjName unselectonly ?index?... unselects the specified shape records and selects others.
shapeobjName type returns the type of a shape object, which is one of NULL, POINT, POLYLINE, POLYGON, MULTIPOINT, POINTZ, POLYLINEZ, POLYGONZ, MULTIPOINTZ, POINTM, POLYLINEM, POLYGONM, MULTIPOINTM, MULTIPATCH.
shapeobjName vangle index ?position? returns an angle of a line segment between two consecutive vertices starting at position.  If position is not provide, the angle of the line segment of the first two consecutive vertices is returned.
shapeobjName vertex ?index? ... returns record vertex lists.  A record vertex list consists of x and y coordinates in an order of {x0 y0 x1 y1...}.  If index is all, it returns a lists of all record vertex lists of the shape object. 
shapeobjName vertex count ?index? ... returns the number of vertices of the specified records. If index is not provided, it returns the total number of vertices of all records. 
shapeobjName vparts ?index? ... returns record vertex lists with each vertex list appended with its associated part list if it is a multi-part vertex list. Note: a multi-part vertex list should have an odd number of items.
shapeobjName zvalues ?index?... | all prints lists of z values.
gtable - an object to  manipulate a tabular data.  It is based on the generic-object speicifcation with the following additional Tcl API: 
gtable.create gtableobjName ?option? creates a gtable object named objName.  Currently only one option -file may be speicified to the file name of a .dbf file.
gtableobjName addfields fieldDefinitionList ?fieldList? adds fields into the table object.  fieldDefinitionList specifies a list of field definitions.  Each filed definition has four items {fieldName type width decimal}, where fieldName is a string with no space, type is N (numerical), C (character), L (logical), D (date) M (memo). width is the size of the data, decimal must be zero for types of C, L, D and M.
gtableobjName addrecord ?record? adds a record into the gtable object, where record is a list of field data of a record to be appended.  If record is not specified, an empty record will be added.
gtableobjName aselect ?index?...  reverses the selection status of specified gtable records.
gtableobjName clone newObjName ?selected? clones a new object.  If the flag selected is presented, it duplicates only those selected records in the new object.
gtableobjName countdeletions returns the number of deleted records.
gtableobjName countselections returns the number of selected records.
gtableobjName deletefields ?fieldName?... deletes named fields.
gtableobjName deleterecord ?index? ... deletes the specified gtable records by marking thire status as deleted.  A record marked as deleted will not participated in selection/unselection.  Using the command undeletedrecords to change the status back to selected.
gtableobjName eraserecord position ?nRecords? permanently erases nRecords from specified position. If nRecords is not specified, erase the record at the specified position.
gtableobjName getfield recordIndex fieldIndex returns the value of the field.
gtableobjName getrecord recordIndex returns the record.
gtableobjName isselected index returns 1 if the specified record is selected or 0 otherwise.
gtableobjName info returns a list of gtable object information. Each item of the list is a list of a field description, i.e., {name type length deicmal}.
gtableobjName insertfields position fieldDefinitionList ?initValues?  inserts new fields and optionally intialize these fields of all records with a specified value.
gtableobjName insertrecords position ?nRecords? ?recordList? inserts nRecords at the position.  If nRecords and recordList are not specified, one empty records will be inserted.  If recordList is not specified, nRecords empty records will be inserted.
gtableobjName match predicateScript action matches the records with a specified predicateScript and fires the action if an evaludation of predicateScript returns 1, where predicateScript is a Tcl scriptic predicate on field values of a record and action is one of select, unselect, selectonly, unselectonly, aselect, and list.  A Tcl script predicate returns 1 if its evaluation is true or 0 otherwise. A field value may be specifed in a predicate by its name following a "%".  For example, "expr %AREA < 500.0" is a predicate script expression that returns 1 if the value of the field AREA is less than 500. A record may be specified by %{RECORD} and a record index %{INDEX}.  A select action selects the record if the predicate is true.  An unselect action unselects the record if the predicate is true.  An aselect action reverse the selected records to unselected and vise verser if the predicated is true.  A selectonly action selects the record if the predicate is true and unselects it otherwise.  An unselectonly action unselects the record if the predicate is true and selects it otherwise.  A list action is similar to selectonly and returns a list of indices of matched records.
gtableobjName purge purges/erases the deleted records from the gtable object.
gtableobjName save filename ?selected? saves the gtable object in to a disk file.  If the flag selected is present, only those selected records will be saved.
gtableobjName select ?index?... selects the specified gtable records.  If no indices are given, it selects all records of the gtable object.
gtableobjName selectonly ?index?... selects the specified gtable records and unselects others.
gtableobjName setfield recordIndex fieldIndex value sets the value to the specified record field.
gtableobjName setrecord recordIndex record sets the value to the specified record.
gtableobjName undeleterecords ?index?... undeletes the specified deleted records and changes the status back to selected.
gtableobjName unselect ?index?... unselects the specified gtable records.
gtableobjName unselectonly ?index?... unselects the specified gtable records and selects others.
camera - an object to simulate an airborne imaging system and to provide functions for image geo-correction and mapping.  It allows a user to specify a camera's parameter and an aircraft's altitude for simulated aeral photograph acquisition and then to perform image geometric correction.  It has the following Tcl API:
camera.create cameraObjName ?options?
Options:
-f   focal length of the camera lens in mm
-dx   image sensor pixel's horizontal size in mm
-dy   image sensor pixel's vertical size in mm
-xc   image x coordinate of the principal point
-yc   image y coordinate of the principal point
-axoffset   rotation angle offset about X in degree
-ayoffset   rotation angle offset about Y in degree
-azoffset   rotaiton angle offset about Z in degree
-x   map x coordinate of the principal point in m
-y   map y coordiante of the principle point in m
-z   map z coordinate of the principle point in m
-ax   rotation angle about X
-ay   rotation angle about Y
-az   rotation angle about Z
-mapid   map id of the map coordinate system
-lat   latitude in degree of the priciple point
-lon   longitude in degree of the principle point
-rotationid   rotation id: ZXY, ZYX, XYZ, XZY, YZX, YXZ
-update   flag to update the image client whne an image operation is done
-resamplemode   resample method: 0 - nearest neighborhood, 1 - bi-linear or distance-weighted interpolation
-fillfactor   fill factor used when mapping pixel from the image focal plane to an image map 
-neighborhood   size of a neighborhood for distant weighted interpolation
cameraObjName acquire srcImage desImage creates a simulated image from a srcImage to a desImage.
cameraObjName cget ?option? retrieves an option value
cameraObjName class retrieves the class name, i.e., Camera
cameraObjName config ?options? configurates the camera with specified options
cameraObjName destroy    destroys the named camera object
cameraObjName imagexy mapx mapy [mapz] calculates image coordinates from map coordinates
cameraObjName mapxy imagex imagey calculates map coordinates from image coordinate
cameraObjName normalize srcImage desImage creates a normalized image from a srcImage to a desImage.  This command directly maps a pixel from the original focal plane to a normalized image plane and can be used for image geo-correction.
cameraObjName normxy imagex imagey calculates normalized image coordinates from the original image coordinates
cameraObjName quaternion [{w x y z}]    calculates the quaternion of the current rotation matrix if no argument is given.  Otherwise reset the current roation matrix with a specified quaternion.
cameraObjName rectify srcImage desImage [dem] creates a geometrically corrected image from a srcImage to a desImage.  A digital elevation model dem may be used for an ortho-rectification.
cameraObjName rotationmatrix prints out the current rotation matrix.
cameraObjName viewpoint [{x y z}] prints out the view point vector of the camera lens if no argument is given.  Otherwise resets the camera's rotation matrix with a view point.
pushbroom - an object to simulate an airborne pushbroom image scanning system and to provide functions for image geo-correction and mapping.  It allows a user to specify a pushbroom camera's parameter and an aircraft's altitude for simulated aeral image scanning and then to perform image geometric correction.
puschbroom.create pushbroomObjName ?options?
Options:
-f   focal length of the camera lens in mm
-dx   image sensor pixel's horizontal size in mm
-dy   image sensor pixel's vertical size in mm
-xc   image x coordinate of the principal point
-yc   image y coordinate of the principal point
-axoffset   rotation angle offset about X in degree
-ayoffset   rotation angle offset about Y in degree
-azoffset   rotaiton angle offset about Z in degree
-mapid   map id of the map coordinate system
-nscanlines   number of scan lines
-lat   latitude in degree of the priciple point
-lon   longitude in degree of the principle point
-rotationid   rotation id: ZXY, ZYX, XYZ, XZY, YZX, YXZ
-update   flag to update the image client whne an image operation is done
-resamplemode   resample method: 0 - nearest neighborhood, 1 - bi-linear or distant weighted interpolation
-fillfactor   fill factor used when mapping pixel from the image focal plane to an image map 
-neighborhood   size of a neighborhood for distant weighted interpolation
pushbroomObjName acquire srcImage desImage creates a simulated scan image from a srcImage to a desImage.
pushbroomObjName attitude id [{Ax Ay Az x y z}]    gets or sets external scanning parameters of the scan line refered to by id.
pushBroomObjName cget ?option?    retrieves an option value of the pushbroom scanner's configuration.
pushbroomObjName class    retrieves the class name, i.e., Pushbroom
pushbroomObjName config ?options?   configurates the pushbroom scanner with specified options
pushbroomObjName destroy    destroys the named pushbroom object
pushbroomObjName gridsize    calculates everage scanning grid size.
pushbroomObjName imagexy id mapx mapy [mapz]   calculates image coordinates from map coordinates for the specified scan line.
pushbroomObjName mapxy id imagex imagey   calculates map coordinates from image coordinate for the specified scan line.
pushbroomObjName normalize srcImage desImage    creates a normalized image from a srcImage to a desImage.  This command directly maps a pixel from an original scan line's focal plane to a normalized image plane and can be used for image geo-correction.
pushbroomObjName normxy id imagex imagey    calculates normalized image coordinates from the original image coordinates for the specified scan line.
pushbroomObjName quaternion id [{w x y z}]    calculates the quaternion of the current rotation matrix for the specified scan line if no argument is given.  Otherwise reset the current roation matrix of a specified scan line with a specified quaternion.
pushbroomObjName rectify srcImage desImage [dem]    creates a geometrically corrected image from a srcImage to a desImage.  A digital elevation model dem may be used for an ortho-rectification.
pushbroomObjName rotationmatrix id   prints out the current rotation matrix of the specified scan line.
pushbroomObjName viewpoint id   prints out the view point vector of the camera lens for the speicified scan line.


[HOME][CONTENTS][DOWNLOAD]