pydrizzle (version 4.3c (14-Aug-2003))
index
/data/chulak1/dev/stsdas/pkg/analysis/dither/pydrizzle/__init__.py

 
Package Contents
            
__init__
buildasn
buildasn_iraf
buildmask
buildproduct
drutil
fileutil
obsgeometry
pydrizzle_iraf
updateasn
wcsutil
wcsutil_iraf
 
Classes
            
Exposure
Pattern
ACSObservation
DitherProduct
STISObservation
WFPCObservation
PyDrizzle
SkyField
__builtin__.dict(__builtin__.object)
ParDict
 
class ACSObservation(Pattern)
      This class defines an observation with information specific
to ACS WFC exposures, including knowledge of how to mosaic both
chips.
 
   Methods defined here:
__init__(self, filename, output, pars=None)

Data and non-method functions defined here:
PARITY = {'HRC': [[-1.0, 0.0], [0.0, 1.0]], 'SBC': [[-1.0, 0.0], [0.0, 1.0]], 'WFC': [[1.0, 0.0], [0.0, -1.0]]}
__doc__ = 'This class defines an observation with informat...g knowledge of how to mosaic both\n chips.'
__module__ = 'pydrizzle'

Methods inherited from Pattern:
DeltaXYtoOffset(self, delta)
Converts provided delta(x,y) pixel offset into a 
delta(RA,Dec) offset in arcseconds.
_applyShifts(self, in_wcs)
 This method updates each member's WCS to reflect any
offsets/corrections specified in the ASN table.
 
This method converts shifts given in output pixels
into the input frame by using a reference image's
WCS.  This reference image must exist and have an
header with a valid WCS; specifically, one which can
be read using WCSObject.
_setSciExtn(self, extn=None)
 Builds extension specification for accessing SCI extension/group.
addMembers(self, filename)
 Build rootname for each SCI extension, and 
create the mask image from the DQ extension. 
It would then append a new Exposure object to 'members' 
list for each extension.
applyAsnShifts(self)
 Apply ASN Shifts to each member and the observations product.
buildMetachip(self)
 Build up the new metashape based on the 
corrected size and position for each Exposure.
(Pattern method)
buildPars(self, ref=None)
This method would build a list of parameters to run 'drizzle'
one a single input image.
   The reference image info 'ref' will be passed as a SkyField object.
   The default output reference frame will be passed as 'def_wcs'
   for comparison to the user's selected object 'ref'.
buildProduct(self, filename, output)
Create Exposure object for meta-chip product after applying 
distortion model to input members.
computeCubicCoeffs(self)
Method for converting cubic and Trauger coefficients tables
into a usable form.  It also replaces 'computeOffsets' for
those tables as well.
computeOffsets(self, parity=None)
This version of 'computeOffsets' calculates the zero-point
shifts to be included in the distortion coefficients table
used by 'drizzle'. 
It REQUIRES a parity matrix to convert from 
V2/V3 coordinates into detector image X/Y coordinates. This
matrix will be specific to each detector.
getExptime(self, filename)
getWCS(self)
########
#
# User interface methods
#
########
setFileFormat(self, filename)
 This method examines the image to determine whether
it is a simple FITS file without extensions.  If so, the
it resets the SCI_EXTN,EXT0,and SEPERATOR attributes to
work correctly with the file format.
setNames(self, filename, output)
Define standard name attibutes:
        ext0name    - Primary extension of input file
        outname     - Default final output name
        outdata     - Name for drizzle science output 
        outsingle   - Name for output for single image
transformMetachip(self, ref)
This method transforms this Exposure's WCS to be consistent
with the provided reference WCS 'ref'.  This method only 
operates on the product MetaChip, with the original WCS
being preserved as 'wcslin'.
 
Primarily, this transformation involves scaling and rotating
the chip to match the reference frame values. Also, any specified
size for the output frame would replace the default rotated/scaled
size. All rotations would be about the center, and the reference
pixel position gets shifted to accomodate this rotation.

Data and non-method functions inherited from Pattern:
EXT0 = '[0]'
IDCKEY = 'IDCTAB'
NUM_IMSET = 3
PA_KEY = 'PA_V3'
REFDATA = {'detector': [[1.0, 1.0], [1.0, 1.0]]}
SCI_EXTN = '[sci,1]'
SEPERATOR = ','
 
class DitherProduct(Pattern)
      Builds an object for a set of dithered inputs, each of which
will be one of the Observation objects.
 
   Methods defined here:
__init__(self, prodlist, pars=None)
addMembers(self, prodlist, pars, output)
For each entry in prodlist, append the appropriate type
of Observation to the members list.
applyAsnShifts(self, output)
Apply any shifts read in from the ASN table /shiftfile to
the WCS of each input's product. 
 
In the case there are no shifts to apply, copy the product
WCS into WCSLIN as the default case.
 
This method should (eventually?) support updating the shifts
without starting from the beginning with these datasets, similar
to the 'resetPars' functionality.
buildMetachip(self)
This method combines the results of the member's buildMetachip()
methods into a composite WCS.
(DitherProduct method)
buildPars(self, ref=None)
buildProduct(self, output)
computeOffsets(self)
This method will rely on final product's 'rd2xy' method
to compute offsets between the different input chips.
getExptime(self)
Add up the exposure time for all the members in
the pattern, since 'drizzle' doesn't have the necessary
information to correctly set this itself.

Data and non-method functions defined here:
__doc__ = '\n Builds an object for a set of dithered in... will be one of the Observation objects. \n '
__module__ = 'pydrizzle'

Methods inherited from Pattern:
DeltaXYtoOffset(self, delta)
Converts provided delta(x,y) pixel offset into a 
delta(RA,Dec) offset in arcseconds.
_applyShifts(self, in_wcs)
 This method updates each member's WCS to reflect any
offsets/corrections specified in the ASN table.
 
This method converts shifts given in output pixels
into the input frame by using a reference image's
WCS.  This reference image must exist and have an
header with a valid WCS; specifically, one which can
be read using WCSObject.
_setSciExtn(self, extn=None)
 Builds extension specification for accessing SCI extension/group.
computeCubicCoeffs(self)
Method for converting cubic and Trauger coefficients tables
into a usable form.  It also replaces 'computeOffsets' for
those tables as well.
getWCS(self)
########
#
# User interface methods
#
########
setFileFormat(self, filename)
 This method examines the image to determine whether
it is a simple FITS file without extensions.  If so, the
it resets the SCI_EXTN,EXT0,and SEPERATOR attributes to
work correctly with the file format.
setNames(self, filename, output)
Define standard name attibutes:
        ext0name    - Primary extension of input file
        outname     - Default final output name
        outdata     - Name for drizzle science output 
        outsingle   - Name for output for single image
transformMetachip(self, ref)
This method transforms this Exposure's WCS to be consistent
with the provided reference WCS 'ref'.  This method only 
operates on the product MetaChip, with the original WCS
being preserved as 'wcslin'.
 
Primarily, this transformation involves scaling and rotating
the chip to match the reference frame values. Also, any specified
size for the output frame would replace the default rotated/scaled
size. All rotations would be about the center, and the reference
pixel position gets shifted to accomodate this rotation.

Data and non-method functions inherited from Pattern:
EXT0 = '[0]'
IDCKEY = 'IDCTAB'
NUM_IMSET = 3
PARITY = {'detector': [[1.0, 0.0], [0.0, 1.0]]}
PA_KEY = 'PA_V3'
REFDATA = {'detector': [[1.0, 1.0], [1.0, 1.0]]}
SCI_EXTN = '[sci,1]'
SEPERATOR = ','
 
class Exposure
      This class will provide the basic functionality for keeping 
track of an exposure's parameters, including distortion model,
WCS information, and metachip shape.
 
   Methods defined here:
__init__(self, expname, idckey=None, new=no, wcs=None, mask=None, pa_key=None, parity=None)
applyDeltaWCS(self, dcrval=None, dcrpix=None, drot=None, dscale=None)
Apply shifts to the WCS of this exposure. 
 
Shifts are always relative to the current value and in the 
same reference frame.
calcNewEdges(self, pscale=None)
This method will compute arrays for all the pixels around
the edge of an image AFTER applying the geometry model.
 
Parameter: delta - offset from nominal crpix center position
 
Output:   xsides - array which contains the new positions for
                  all pixels along the LEFT and RIGHT edges
          ysides - array which contains the new positions for
                  all pixels along the TOP and BOTTOM edges
The new position for each pixel is calculated by calling
self.geometry.apply() on each position.
getShape(self)
This method gets the shape after opening and reading 
the input image. This version will be the default
way of doing this, but each instrument may override
this method with one specific to their data format.
getWCS(self)
setCorners(self)
 Initializes corners for the raw image.
setShape(self, size, pscale)
This method will set the shape for a new file if
there is no image header information. 
 
Size will be defined as (nx,ny) and pixel size
showWCS(self)

Data and non-method functions defined here:
__doc__ = ' \n This class will provide the basic funct...n WCS information, and metachip shape. \n '
__module__ = 'pydrizzle'
 
class ParDict(__builtin__.dict)
       
  
Method resolution order:
ParDict
__builtin__.dict
__builtin__.object

Methods defined here:
__init__(self)
__str__(self)

Data and non-method functions defined here:
__dict__ = <dict-proxy object>
__module__ = 'pydrizzle'
__weakref__ = <member '__weakref__' of 'ParDict' objects>

Methods inherited from __builtin__.dict:
__cmp__(...)
x.__cmp__(y) <==> cmp(x,y)
__contains__(...)
x.__contains__(y) <==> y in x
__delitem__(...)
x.__delitem__(y) <==> del x[y]
__eq__(...)
x.__eq__(y) <==> x==y
__ge__(...)
x.__ge__(y) <==> x>=y
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__gt__(...)
x.__gt__(y) <==> x>y
__hash__(...)
x.__hash__() <==> hash(x)
__iter__(...)
x.__iter__() <==> iter(x)
__le__(...)
x.__le__(y) <==> x<=y
__len__(...)
x.__len__() <==> len(x)
__lt__(...)
x.__lt__(y) <==> x<y
__ne__(...)
x.__ne__(y) <==> x!=y
__repr__(...)
x.__repr__() <==> repr(x)
__setitem__(...)
x.__setitem__(i, y) <==> x[i]=y
clear(...)
D.clear() -> None.  Remove all items from D.
copy(...)
D.copy() -> a shallow copy of D
get(...)
D.get(k[,d]) -> D[k] if D.has_key(k), else d.  d defaults to None.
has_key(...)
D.has_key(k) -> 1 if D has a key k, else 0
items(...)
D.items() -> list of D's (key, value) pairs, as 2-tuples
iteritems(...)
D.iteritems() -> an iterator over the (key, value) items of D
iterkeys(...)
D.iterkeys() -> an iterator over the keys of D
itervalues(...)
D.itervalues() -> an iterator over the values of D
keys(...)
D.keys() -> list of D's keys
popitem(...)
D.popitem() -> (k, v), remove and return some (key, value) pair as a
2-tuple; but raise KeyError if D is empty
setdefault(...)
D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if not D.has_key(k)
update(...)
D.update(E) -> None.  Update D from E: for k in E.keys(): D[k] = E[k]
values(...)
D.values() -> list of D's values

Data and non-method functions inherited from __builtin__.dict:
__new__ = <built-in method __new__ of type object>
T.__new__(S, ...) -> a new object with type S, a subtype of T

Methods inherited from __builtin__.object:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__reduce__(...)
helper for pickle
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value

Data and non-method functions inherited from __builtin__.object:
__class__ = <type 'type'>
the object's class
 
class Pattern
      Set default values for these to be overridden by 
instrument specific class variables as necessary.
 
   Methods defined here:
DeltaXYtoOffset(self, delta)
Converts provided delta(x,y) pixel offset into a 
delta(RA,Dec) offset in arcseconds.
__init__(self, pars=None)
_applyShifts(self, in_wcs)
 This method updates each member's WCS to reflect any
offsets/corrections specified in the ASN table.
 
This method converts shifts given in output pixels
into the input frame by using a reference image's
WCS.  This reference image must exist and have an
header with a valid WCS; specifically, one which can
be read using WCSObject.
_setSciExtn(self, extn=None)
 Builds extension specification for accessing SCI extension/group.
addMembers(self, filename)
 Build rootname for each SCI extension, and 
create the mask image from the DQ extension. 
It would then append a new Exposure object to 'members' 
list for each extension.
applyAsnShifts(self)
 Apply ASN Shifts to each member and the observations product.
buildMetachip(self)
 Build up the new metashape based on the 
corrected size and position for each Exposure.
(Pattern method)
buildPars(self, ref=None)
This method would build a list of parameters to run 'drizzle'
one a single input image.
   The reference image info 'ref' will be passed as a SkyField object.
   The default output reference frame will be passed as 'def_wcs'
   for comparison to the user's selected object 'ref'.
buildProduct(self, filename, output)
Create Exposure object for meta-chip product after applying 
distortion model to input members.
computeCubicCoeffs(self)
Method for converting cubic and Trauger coefficients tables
into a usable form.  It also replaces 'computeOffsets' for
those tables as well.
computeOffsets(self, parity=None)
This version of 'computeOffsets' calculates the zero-point
shifts to be included in the distortion coefficients table
used by 'drizzle'. 
It REQUIRES a parity matrix to convert from 
V2/V3 coordinates into detector image X/Y coordinates. This
matrix will be specific to each detector.
getExptime(self, filename)
getWCS(self)
########
#
# User interface methods
#
########
setFileFormat(self, filename)
 This method examines the image to determine whether
it is a simple FITS file without extensions.  If so, the
it resets the SCI_EXTN,EXT0,and SEPERATOR attributes to
work correctly with the file format.
setNames(self, filename, output)
Define standard name attibutes:
        ext0name    - Primary extension of input file
        outname     - Default final output name
        outdata     - Name for drizzle science output 
        outsingle   - Name for output for single image
transformMetachip(self, ref)
This method transforms this Exposure's WCS to be consistent
with the provided reference WCS 'ref'.  This method only 
operates on the product MetaChip, with the original WCS
being preserved as 'wcslin'.
 
Primarily, this transformation involves scaling and rotating
the chip to match the reference frame values. Also, any specified
size for the output frame would replace the default rotated/scaled
size. All rotations would be about the center, and the reference
pixel position gets shifted to accomodate this rotation.

Data and non-method functions defined here:
EXT0 = '[0]'
IDCKEY = 'IDCTAB'
NUM_IMSET = 3
PARITY = {'detector': [[1.0, 0.0], [0.0, 1.0]]}
PA_KEY = 'PA_V3'
REFDATA = {'detector': [[1.0, 1.0], [1.0, 1.0]]}
SCI_EXTN = '[sci,1]'
SEPERATOR = ','
__doc__ = ' \n Set default values for these to be over...ent specific class variables as necessary.\n '
__module__ = 'pydrizzle'
 
class PyDrizzle
      Program to process and/or dither-combine image(s) using (t)drizzle.
To create an object named 'test' that corresponds to a drizzle product:
    --> test = pydrizzle.PyDrizzle(input)
where input is the FULL filename of an ACS observation or ASN table.
This computes all the parameters necessary for running drizzle on all
the input images.  Once this object is created, you can run drizzle using:
    --> test.run()
Optional parameters:
    output      User-specified name for output products
    field       User-specified parameters for output image
                includes: psize, orient, ra, dec, shape
    units       Units for final product: 'counts' or 'cps'(DEFAULT)
    section     Extension/group to be drizzled: FITS extension or group
                syntax ('1' or 'sci,1') or None (DEFAULT: Use all chips).
    kernel      Specify which kernel to use in TDRIZZLE
                'square'(default),'point','gaussian','turbo','tophat'
    pixfrac     drizzle pixfrac value (Default: 1.0) 
    bits        Bit values considered good (Default: 0)
                'None' specifies that no input mask will be used
    idckey      User-specified keyword for determining IDCTAB filename
                'IDCTAB'(ACS default),'TRAUGER'(WFPC2),'CUBIC'(WFPC2)
Optional Parameters for '.run()':
    build       create multi-extension output: yes (Default) or no
    save        keeps the individual inputs from drizzle: yes or no (Default)
    single      drizzle to separate output for each input: yes or no (Default)
    blot        run blot on drizzled products: yes or no (Default)
Usage of optional parameters:    
    --> test = pydrizzle.PyDrizzle('test_asn.fits',bits=1894,units='counts')
To keep the individual 'drizzle' output products:
    --> test.run(save=yes)
 
   Methods defined here:
__init__(self, input, output=None, field=None, units=None, section=None, kernel=None, pixfrac=None, bits=0, wt_scl='exptime', fillval=0.0, idckey=None)
clean(self, coeffs=no, final=no)
 Removes intermediate products from disk.
help(self)
Run the module level help function to provide syntax information.
resetPars(self, field)
 Recompute the output parameters based on a new SkyField object.
run(self, save=no, build=yes, blot=no, single=no, clean=no)
Perform drizzle operation on input to create output.
This method would rely on the buildPars() method for
the output product to produce correct parameters
based on the inputs. The output for buildPars() is a list 
of dictionaries, one for each input, that matches the 
primary parameters for an IRAF drizzle task.
 
This method would then loop over all the entries in the 
list and run 'drizzle' for each entry.

Data and non-method functions defined here:
__doc__ = '\nProgram to process and/or dither-combine imag...tput products:\n --> test.run(save=yes)\n '
__module__ = 'pydrizzle'
 
class STISObservation(Pattern)
      This class defines an observation with information specific
to STIS exposures.
 
   Methods defined here:
__init__(self, filename, output, pars=None)
getExptime(self, filename)

Data and non-method functions defined here:
IDCKEY = 'cubic'
PARITY = {'CCD': array([[-1., 0.], [ 0., 1.]]), 'FUV-MAMA': array([[-1., 0.], [ 0., 1.]]), 'NUV-MAMA': array([[-1., 0.], [ 0., 1.]])}
REFDATA = {'CCD': {'psize': 0.050000000000000003, 'theta': 0.0, 'v2': -213.999, 'v3': -224.89699999999999, 'xoff': 0.0, 'yoff': 0.0}, 'FUV-MAMA': {'psize': 0.024, 'theta': 0.0, 'v2': -213.999, 'v3': -224.89699999999999, 'xoff': 0.0, 'yoff': 0.0}, 'NUV-MAMA': {'psize': 0.024, 'theta': 0.0, 'v2': -213.999, 'v3': -224.89699999999999, 'xoff': 0.0, 'yoff': 0.0}}
REFPIX = {'x': 512.0, 'y': 512.0}
_STISObservation__parity = array([[-1., 0.], [ 0., 1.]])
Fundamental Numeric Array
 
type       The type of each data element, e.g. Int32  
byteorder  The actual ordering of bytes in buffer: "big" or "little".
 
def __init__(self, shape=(), type=Any, buffer=None, byteoffset=0,
             bytestride=None, byteorder=_sys.byteorder, aligned=1):
 
    # need to add a whole bunch of checking here (or then again,
    # maybe not.)
 
    type = _getType(type)
    itemsize = type.bytes
    NDArray.__init__(self, shape, itemsize, buffer, byteoffset, bytestride)
 
    self._type = type
    if byteorder in ["little", "big"]:
        self._byteorder = byteorder
    else:
        raise ValueError("byteorder must be 'little' or 'big'")
_STISObservation__theta = 0.0
__doc__ = 'This class defines an observation with information specific\n to STIS exposures.\n '
__module__ = 'pydrizzle'

Methods inherited from Pattern:
DeltaXYtoOffset(self, delta)
Converts provided delta(x,y) pixel offset into a 
delta(RA,Dec) offset in arcseconds.
_applyShifts(self, in_wcs)
 This method updates each member's WCS to reflect any
offsets/corrections specified in the ASN table.
 
This method converts shifts given in output pixels
into the input frame by using a reference image's
WCS.  This reference image must exist and have an
header with a valid WCS; specifically, one which can
be read using WCSObject.
_setSciExtn(self, extn=None)
 Builds extension specification for accessing SCI extension/group.
addMembers(self, filename)
 Build rootname for each SCI extension, and 
create the mask image from the DQ extension. 
It would then append a new Exposure object to 'members' 
list for each extension.
applyAsnShifts(self)
 Apply ASN Shifts to each member and the observations product.
buildMetachip(self)
 Build up the new metashape based on the 
corrected size and position for each Exposure.
(Pattern method)
buildPars(self, ref=None)
This method would build a list of parameters to run 'drizzle'
one a single input image.
   The reference image info 'ref' will be passed as a SkyField object.
   The default output reference frame will be passed as 'def_wcs'
   for comparison to the user's selected object 'ref'.
buildProduct(self, filename, output)
Create Exposure object for meta-chip product after applying 
distortion model to input members.
computeCubicCoeffs(self)
Method for converting cubic and Trauger coefficients tables
into a usable form.  It also replaces 'computeOffsets' for
those tables as well.
computeOffsets(self, parity=None)
This version of 'computeOffsets' calculates the zero-point
shifts to be included in the distortion coefficients table
used by 'drizzle'. 
It REQUIRES a parity matrix to convert from 
V2/V3 coordinates into detector image X/Y coordinates. This
matrix will be specific to each detector.
getWCS(self)
########
#
# User interface methods
#
########
setFileFormat(self, filename)
 This method examines the image to determine whether
it is a simple FITS file without extensions.  If so, the
it resets the SCI_EXTN,EXT0,and SEPERATOR attributes to
work correctly with the file format.
setNames(self, filename, output)
Define standard name attibutes:
        ext0name    - Primary extension of input file
        outname     - Default final output name
        outdata     - Name for drizzle science output 
        outsingle   - Name for output for single image
transformMetachip(self, ref)
This method transforms this Exposure's WCS to be consistent
with the provided reference WCS 'ref'.  This method only 
operates on the product MetaChip, with the original WCS
being preserved as 'wcslin'.
 
Primarily, this transformation involves scaling and rotating
the chip to match the reference frame values. Also, any specified
size for the output frame would replace the default rotated/scaled
size. All rotations would be about the center, and the reference
pixel position gets shifted to accomodate this rotation.

Data and non-method functions inherited from Pattern:
EXT0 = '[0]'
NUM_IMSET = 3
PA_KEY = 'PA_V3'
SCI_EXTN = '[sci,1]'
SEPERATOR = ','
 
class SkyField
      This class will create a WCS object for a desired image, along 
with all the necessary parameters for modifying that WCS.
The user may optionally modify:
    ra,dec      - position of the center of the field (as a string)
    orient      - value of ORIENTAT for the field
    shape       - tuple containing the sizes of the field's x/y axes
    psize       - size of image's pixels in arc-seconds
    
RA/Dec may be specified in either decimal degrees (eg.,124.5678) 
    or sexagesimal notation (hh:mm:ss.ss).
 
   Methods defined here:
__init__(self, shape=None, psize=None, wcs=None)
__str__(self)
 Prints the WCS information set for this object.
help(self)
 Creates and prints usage information for this class.
mergeWCS(self, wcs)
 Sets up the WCS for this object based on another WCS.
This method will NOT update object attributes other
than WCS, as all other attributes reflect user-settings.
set(self, psize=None, orient=None, ra=None, dec=None, shape=None, crpix=None)
Modifies the attributes of the SkyField and 
    updates it's WCS when appropriate.

Data and non-method functions defined here:
__doc__ = '\n This class will create a WCS object for a... or sexagesimal notation (hh:mm:ss.ss).\n\n '
__module__ = 'pydrizzle'
 
class WFPCObservation(Pattern)
      This class defines an observation with information specific
to WFPC2 exposures, including knowledge of how to mosaic the
chips.
 
   Methods defined here:
__init__(self, filename, output, pars=None)
addMembers(self, filename)
setOrient(self)

Data and non-method functions defined here:
IDCKEY = 'trauger'
PARITY = {'1': array([[ 0.70824127, -0.70597047], [-0.70597047, -0.70824127]]), '2': array([[ 0.70824127, -0.70597047], [-0.70597047, -0.70824127]]), '3': array([[ 0.70824127, -0.70597047], [-0.70597047, -0.70824127]]), '4': array([[ 0.70824127, -0.70597047], [-0.70597047, -0.70824127]]), 'WFPC': array([[ 0.70830041, 0.70591113], [ 0.70591113, -0.70830041]])}
REFDATA = {'1': {'psize': 0.045539999999999997, 'theta': 224.90799999999999, 'v2': 2.3740000000000001, 'v3': -30.268000000000001, 'xoff': 354.35599999999999, 'yoff': 343.64600000000002}, '2': {'psize': 0.099599999999999994, 'theta': 224.90799999999999, 'v2': -51.368000000000002, 'v3': -5.6980000000000004, 'xoff': 345.74810000000002, 'yoff': 375.28818000000001}, '3': {'psize': 0.099599999999999994, 'theta': 224.90799999999999, 'v2': 0.064000000000000001, 'v3': 48.692, 'xoff': 366.56876, 'yoff': 354.79435000000001}, '4': {'psize': 0.099599999999999994, 'theta': 224.90799999999999, 'v2': 55.043999999999997, 'v3': -6.0979999999999999, 'xoff': 355.85016000000002, 'yoff': 351.29183}}
REFPIX = {'x': 400.0, 'y': 400.0}
_WFPCObservation__parity = array([[ 0.70824127, -0.70597047], [-0.70597047, -0.70824127]])
Fundamental Numeric Array
 
type       The type of each data element, e.g. Int32  
byteorder  The actual ordering of bytes in buffer: "big" or "little".
 
def __init__(self, shape=(), type=Any, buffer=None, byteoffset=0,
             bytestride=None, byteorder=_sys.byteorder, aligned=1):
 
    # need to add a whole bunch of checking here (or then again,
    # maybe not.)
 
    type = _getType(type)
    itemsize = type.bytes
    NDArray.__init__(self, shape, itemsize, buffer, byteoffset, bytestride)
 
    self._type = type
    if byteorder in ["little", "big"]:
        self._byteorder = byteorder
    else:
        raise ValueError("byteorder must be 'little' or 'big'")
_WFPCObservation__parity_pc = array([[ 0.70830041, 0.70591113], [ 0.70591113, -0.70830041]])
Fundamental Numeric Array
 
type       The type of each data element, e.g. Int32  
byteorder  The actual ordering of bytes in buffer: "big" or "little".
 
def __init__(self, shape=(), type=Any, buffer=None, byteoffset=0,
             bytestride=None, byteorder=_sys.byteorder, aligned=1):
 
    # need to add a whole bunch of checking here (or then again,
    # maybe not.)
 
    type = _getType(type)
    itemsize = type.bytes
    NDArray.__init__(self, shape, itemsize, buffer, byteoffset, bytestride)
 
    self._type = type
    if byteorder in ["little", "big"]:
        self._byteorder = byteorder
    else:
        raise ValueError("byteorder must be 'little' or 'big'")
_WFPCObservation__theta = 224.90799999999999
_WFPCObservation__theta_pc = 135.0968
__doc__ = 'This class defines an observation with informat...ng knowledge of how to mosaic the\n chips.'
__module__ = 'pydrizzle'

Methods inherited from Pattern:
DeltaXYtoOffset(self, delta)
Converts provided delta(x,y) pixel offset into a 
delta(RA,Dec) offset in arcseconds.
_applyShifts(self, in_wcs)
 This method updates each member's WCS to reflect any
offsets/corrections specified in the ASN table.
 
This method converts shifts given in output pixels
into the input frame by using a reference image's
WCS.  This reference image must exist and have an
header with a valid WCS; specifically, one which can
be read using WCSObject.
_setSciExtn(self, extn=None)
 Builds extension specification for accessing SCI extension/group.
applyAsnShifts(self)
 Apply ASN Shifts to each member and the observations product.
buildMetachip(self)
 Build up the new metashape based on the 
corrected size and position for each Exposure.
(Pattern method)
buildPars(self, ref=None)
This method would build a list of parameters to run 'drizzle'
one a single input image.
   The reference image info 'ref' will be passed as a SkyField object.
   The default output reference frame will be passed as 'def_wcs'
   for comparison to the user's selected object 'ref'.
buildProduct(self, filename, output)
Create Exposure object for meta-chip product after applying 
distortion model to input members.
computeCubicCoeffs(self)
Method for converting cubic and Trauger coefficients tables
into a usable form.  It also replaces 'computeOffsets' for
those tables as well.
computeOffsets(self, parity=None)
This version of 'computeOffsets' calculates the zero-point
shifts to be included in the distortion coefficients table
used by 'drizzle'. 
It REQUIRES a parity matrix to convert from 
V2/V3 coordinates into detector image X/Y coordinates. This
matrix will be specific to each detector.
getExptime(self, filename)
getWCS(self)
########
#
# User interface methods
#
########
setFileFormat(self, filename)
 This method examines the image to determine whether
it is a simple FITS file without extensions.  If so, the
it resets the SCI_EXTN,EXT0,and SEPERATOR attributes to
work correctly with the file format.
setNames(self, filename, output)
Define standard name attibutes:
        ext0name    - Primary extension of input file
        outname     - Default final output name
        outdata     - Name for drizzle science output 
        outsingle   - Name for output for single image
transformMetachip(self, ref)
This method transforms this Exposure's WCS to be consistent
with the provided reference WCS 'ref'.  This method only 
operates on the product MetaChip, with the original WCS
being preserved as 'wcslin'.
 
Primarily, this transformation involves scaling and rotating
the chip to match the reference frame values. Also, any specified
size for the output frame would replace the default rotated/scaled
size. All rotations would be about the center, and the reference
pixel position gets shifted to accomodate this rotation.

Data and non-method functions inherited from Pattern:
EXT0 = '[0]'
NUM_IMSET = 3
PA_KEY = 'PA_V3'
SCI_EXTN = '[sci,1]'
SEPERATOR = ','
 
Data
             DEFAULT_PARITY = [[1.0, 0.0], [0.0, 1.0]]
DEXPTIME = 'EXPTIME'
IDCKEYS = {'ACS': 'IDCTAB', 'STIS': 'cubic', 'WFPC2': 'trauger', 'default': 'IDCTAB'}
INSTRUMENT = ['ACS', 'WFPC2', 'STIS']
__file__ = './pydrizzle/__init__.pyc'
__name__ = 'pydrizzle'
__path__ = ['./pydrizzle']
__version__ = '4.3c (14-Aug-2003)'
_default_pars = {'bitvalue': None, 'idckey': None, 'psize': None, 'rot': None}
analysis = <IrafPkg analysis (analysis$analysis.cl) Pkg: stsdas Bin: stsdasbin$>
dither = <IrafPkg dither (dither$dither.cl) Pkg: analysis Bin: stsdasbin$>
iraf = <module 'pyraf.iraf' from '/data/chulak1/dev/pyraf/iraf.pyc'>
no = no
stsdas = <IrafPkg stsdas (stsdas$stsdas.cl) Pkg: clpackage Bin: bin$>
version = '4.3c (14-Aug-2003)'
yes = yes