casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Attributes
casa::RebinImage< T > Class Template Reference

Rebin an image. More...

#include <RebinImage.h>

Inheritance diagram for casa::RebinImage< T >:
casa::ImageInterface< T > casa::MaskedLattice< T > casa::Lattice< T > casa::LatticeBase

List of all members.

Public Member Functions

 RebinImage ()
 Default constructor (object useless)
 RebinImage (const ImageInterface< T > &, const IPosition &factors)
 Constructor.
 RebinImage (const RebinImage< T > &other)
 Copy constructor (reference semantics).
virtual ~RebinImage ()
RebinImage< T > & operator= (const RebinImage< T > &other)
 Assignment (reference semantics).
virtual ImageInterface< T > * cloneII () const
 Make a copy of the object (reference semantics).
virtual String imageType () const
 Get the image type (returns name of derived class).
virtual Bool isMasked () const
 Is the RebinImage masked? It is if its parent image is masked.
virtual Bool hasPixelMask () const
 Does the image object have a pixelmask? It does if its parent has a pixelmask.
virtual const Lattice< Bool > & pixelMask () const
 Get access to the pixelmask in use (thus to the pixelmask of the parent).
virtual Lattice< Bool > & pixelMask ()
virtual const LatticeRegiongetRegionPtr () const
 Get the region used (always returns 0).
virtual Bool isPersistent () const
 A RebinImage is not persistent.
virtual Bool isPaged () const
 Is the RebinImage paged to disk?
virtual Bool isWritable () const
 An RebinImage is not writable.
virtual IPosition shape () const
 Returns the shape of the RebinImage.
virtual uInt advisedMaxPixels () const
 This function returns the recommended maximum number of pixels to include in the cursor of an iterator.
virtual void resize (const TiledShape &newShape)
 Function which changes the shape of the RebinImage.
virtual String name (Bool stripPath=False) const
 Return the name of the parent ImageInterface object.
virtual Bool ok () const
 Check class invariants.
virtual Bool doGetSlice (Array< T > &buffer, const Slicer &section)
 Do the actual getting of an array of values.
virtual void doPutSlice (const Array< T > &sourceBuffer, const IPosition &where, const IPosition &stride)
 Putting data is not possible as the lattice is not writable.
virtual Bool doGetMaskSlice (Array< Bool > &buffer, const Slicer &section)
 Get a section of the mask.
virtual LatticeIterInterface< T > * makeIter (const LatticeNavigator &navigator, Bool useRef) const
 This function is used by the LatticeIterator class to generate an iterator of the correct type for this Lattice.
virtual IPosition doNiceCursorShape (uInt maxPixels) const
 Get the best cursor shape.
virtual Bool lock (FileLocker::LockType, uInt nattempts)
 Handle the (un)locking and syncing, etc.
virtual void unlock ()
virtual Bool hasLock (FileLocker::LockType) const
virtual void resync ()
 Resynchronize the Lattice object with the lattice file.
virtual void flush ()
 Flush the data (but do not unlock).
virtual void tempClose ()
 Temporarily close the lattice.
virtual void reopen ()
 Explicitly reopen the temporarily closed lattice.

Private Attributes

ImageInterface< T > * itsImagePtr
 
   

RebinLattice< T > * itsRebinPtr

Detailed Description

template<class T>
class casa::RebinImage< T >

Rebin an image.

Intended use:

Public interface

Review Status

Test programs:
tRebinImage

Prerequisite

Synopsis

Class RebinImage can be used to rebin (data averaged over bin) an image by integer amounts per axis.

Example

       IPosition factors(2,2,2);
       PagedImage<Float> imageIn(String("myImage")):
       RebinLattice<Float> rb(imageIn, factors);
       IPosition shapeOut = rb.shape();
       TiledShape tShapeOut(shapeOut);
       TempImage<Float> imageOut(tShapeOut, rb.coordinates());
       LatticeUtilities::copyDataAndMask(os, imageOut, rb);
       ImageUtilities::copyMiscellaneous (imageOut, imageIn);

Motivation

Users like to rebin images...

Definition at line 81 of file RebinImage.h.


Constructor & Destructor Documentation

template<class T>
casa::RebinImage< T >::RebinImage ( )

Default constructor (object useless)

template<class T>
casa::RebinImage< T >::RebinImage ( const ImageInterface< T > &  ,
const IPosition factors 
)

Constructor.

The bin factors don't have to be integral. Anything left over at the end is treated as a full bin.

template<class T>
casa::RebinImage< T >::RebinImage ( const RebinImage< T > &  other)

Copy constructor (reference semantics).

template<class T>
virtual casa::RebinImage< T >::~RebinImage ( ) [virtual]

Member Function Documentation

template<class T>
virtual uInt casa::RebinImage< T >::advisedMaxPixels ( ) const [virtual]

This function returns the recommended maximum number of pixels to include in the cursor of an iterator.

Reimplemented from casa::Lattice< T >.

template<class T>
virtual ImageInterface<T>* casa::RebinImage< T >::cloneII ( ) const [virtual]

Make a copy of the object (reference semantics).

Implements casa::ImageInterface< T >.

template<class T>
virtual Bool casa::RebinImage< T >::doGetMaskSlice ( Array< Bool > &  buffer,
const Slicer section 
) [virtual]

Get a section of the mask.

Non-unit strides are not yet supported.

Reimplemented from casa::MaskedLattice< T >.

template<class T>
virtual Bool casa::RebinImage< T >::doGetSlice ( Array< T > &  buffer,
const Slicer section 
) [virtual]

Do the actual getting of an array of values.

Non-unit strides are not yet supported.

Implements casa::Lattice< T >.

template<class T>
virtual IPosition casa::RebinImage< T >::doNiceCursorShape ( uInt  maxPixels) const [virtual]

Get the best cursor shape.

Reimplemented from casa::LatticeBase.

template<class T>
virtual void casa::RebinImage< T >::doPutSlice ( const Array< T > &  sourceBuffer,
const IPosition where,
const IPosition stride 
) [virtual]

Putting data is not possible as the lattice is not writable.

Implements casa::Lattice< T >.

template<class T>
virtual void casa::RebinImage< T >::flush ( ) [virtual]

Flush the data (but do not unlock).


By default the function does not do anything at all.

Reimplemented from casa::LatticeBase.

template<class T>
virtual const LatticeRegion* casa::RebinImage< T >::getRegionPtr ( ) const [virtual]

Get the region used (always returns 0).

Implements casa::MaskedLattice< T >.

template<class T>
virtual Bool casa::RebinImage< T >::hasLock ( FileLocker::LockType  ) const [virtual]

Reimplemented from casa::LatticeBase.

template<class T>
virtual Bool casa::RebinImage< T >::hasPixelMask ( ) const [virtual]

Does the image object have a pixelmask? It does if its parent has a pixelmask.

Reimplemented from casa::MaskedLattice< T >.

template<class T>
virtual String casa::RebinImage< T >::imageType ( ) const [virtual]

Get the image type (returns name of derived class).

Implements casa::ImageInterface< T >.

template<class T>
virtual Bool casa::RebinImage< T >::isMasked ( ) const [virtual]

Is the RebinImage masked? It is if its parent image is masked.

Reimplemented from casa::MaskedLattice< T >.

template<class T>
virtual Bool casa::RebinImage< T >::isPaged ( ) const [virtual]

Is the RebinImage paged to disk?

Reimplemented from casa::LatticeBase.

template<class T>
virtual Bool casa::RebinImage< T >::isPersistent ( ) const [virtual]

A RebinImage is not persistent.

Reimplemented from casa::LatticeBase.

template<class T>
virtual Bool casa::RebinImage< T >::isWritable ( ) const [virtual]

An RebinImage is not writable.

Reimplemented from casa::LatticeBase.

template<class T>
virtual Bool casa::RebinImage< T >::lock ( FileLocker::LockType  ,
uInt  nattempts 
) [virtual]

Handle the (un)locking and syncing, etc.

Reimplemented from casa::LatticeBase.

template<class T>
virtual LatticeIterInterface<T>* casa::RebinImage< T >::makeIter ( const LatticeNavigator navigator,
Bool  useRef 
) const [virtual]

This function is used by the LatticeIterator class to generate an iterator of the correct type for this Lattice.

Not recommended for general use.

Reimplemented from casa::Lattice< T >.

template<class T>
virtual String casa::RebinImage< T >::name ( Bool  stripPath = False) const [virtual]

Return the name of the parent ImageInterface object.

Implements casa::ImageInterface< T >.

template<class T>
virtual Bool casa::RebinImage< T >::ok ( ) const [virtual]

Check class invariants.

Implements casa::ImageInterface< T >.

template<class T>
RebinImage<T>& casa::RebinImage< T >::operator= ( const RebinImage< T > &  other)

Assignment (reference semantics).

template<class T>
virtual const Lattice<Bool>& casa::RebinImage< T >::pixelMask ( ) const [virtual]

Get access to the pixelmask in use (thus to the pixelmask of the parent).

An exception is thrown if the parent does not have a pixelmask.

Reimplemented from casa::MaskedLattice< T >.

template<class T>
virtual Lattice<Bool>& casa::RebinImage< T >::pixelMask ( ) [virtual]

Reimplemented from casa::MaskedLattice< T >.

template<class T>
virtual void casa::RebinImage< T >::reopen ( ) [virtual]

Explicitly reopen the temporarily closed lattice.


By default the function does not do anything at all.

Reimplemented from casa::LatticeBase.

template<class T>
virtual void casa::RebinImage< T >::resize ( const TiledShape newShape) [virtual]

Function which changes the shape of the RebinImage.

Throws an exception as resizing an RebinImage is not possible.

Implements casa::ImageInterface< T >.

template<class T>
virtual void casa::RebinImage< T >::resync ( ) [virtual]

Resynchronize the Lattice object with the lattice file.

This function is only useful if no read-locking is used, ie. if the table lock option is UserNoReadLocking or AutoNoReadLocking. In that cases the table system does not acquire a read-lock, thus does not synchronize itself automatically.
By default the function does not do anything at all.

Reimplemented from casa::LatticeBase.

template<class T>
virtual IPosition casa::RebinImage< T >::shape ( ) const [virtual]

Returns the shape of the RebinImage.

Implements casa::LatticeBase.

template<class T>
virtual void casa::RebinImage< T >::tempClose ( ) [virtual]

Temporarily close the lattice.

It will be reopened automatically on the next access.
By default the function does not do anything at all.

Reimplemented from casa::LatticeBase.

template<class T>
virtual void casa::RebinImage< T >::unlock ( ) [virtual]

Reimplemented from casa::LatticeBase.


Member Data Documentation

template<class T>
ImageInterface<T>* casa::RebinImage< T >::itsImagePtr [private]

   

Definition at line 188 of file RebinImage.h.

template<class T>
RebinLattice<T>* casa::RebinImage< T >::itsRebinPtr [private]

Definition at line 189 of file RebinImage.h.


The documentation for this class was generated from the following file: