ImageSummary.h

Classes

ImageSummary -- Provides and lists information about the header of an image. (full description)

template <class T> class ImageSummary

Interface

Public Members
ImageSummary (const ImageInterface<T>&)
ImageSummary (const ImageSummary<T> &other)
~ImageSummary()
ImageSummary<T> &operator=(const ImageSummary<T> &other)
Int ndim () const
IPosition shape () const
IPosition tileShape () const
Vector<String> axisNames (Bool pixelOrder=True) const
Vector<Double> referencePixels (Bool oneRel=True) const
Vector<Double> referenceValues (Bool pixelOrder=True) const
Vector<Double> axisIncrements (Bool pixelOrder=True) const
Vector<String> axisUnits(Bool pixelOrder=True) const
Unit units () const
String name() const
String observer() const
String obsDate(MEpoch& date) const
String telescope() const
Bool restFrequency(String& restFreqString, Quantum<Double>& restFreq) const
Bool frequencySystem(String& freqTypeString, MFrequency::Types& freqType) const
Bool directionSystem(String& dirTypeString, MDirection::Types& dirType) const
Bool hasAMask () const
Vector<String> maskNames() const
Vector<String> regionNames() const
String defaultMaskName() const
Vector<Quantum<Double> > restoringBeam() const
String imageType () const
Vector<String> list(LogIO& os, const MDoppler::Types velocityType=MDoppler::RADIO, Bool postLocally=False)
Bool setNewImage (const ImageInterface<T>& image)
Private Members
String makeMasksString() const
String makeRegionsString() const

Description

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

This class lists the ancilliary descriptive information from an image

Synopsis

Images consist of pixel values and descriptive information. This information describes the coordinate system, the image units etc. This class enables you to retrieve the descriptive information and/or list it.

The functions that retrieve specific coordinate information in vectors (e.g. referenceValues) return it in the order of the (pixel) axes of the image. Note that this can be different from the order in which the CoordinateSystem functions of similar name might return them. This is because the order of the coordinates in the CoordinateSystem is not necessarily the same order as the pixel axes in the associated image, although of course there is a known association.

Tip This class lists information about the coordinates in the image. The Coordinates classes can maintain the information in a variety of units. For example, angular quantities are by default in radians, but the manipulator of a CoordinateSystem may have converted to some other unit such as arcseconds. This means that when this class fetches coordinate information and returns it to you (such as the referenceValues() function, the information is returned to you in whatever units the coordinates are currently in. It does not convert it.

Example

     PagedImage<Float> inImage(fileName);
     ImageSummary<Float> summary(inImage);
     LogOrigin or("myClass", "myFunction(...)", WHERE);
     LogIO os(or);
     summary.list(os);
A PagedImage object is constructed and then logged to the supplied LogIO object.

Motivation

The viewing of the descriptive image information is a basic capability.

Member Description

ImageSummary (const ImageInterface<T>&)

Constructor

ImageSummary (const ImageSummary<T> &other)

Copy constructor

~ImageSummary()

Destructor

ImageSummary<T> &operator=(const ImageSummary<T> &other)

Assignment operator

Int ndim () const

Retrieve number of image dimension

IPosition shape () const

Retrieve image shape

IPosition tileShape () const

Retrieve tile shape with which image is stored on disk

Vector<String> axisNames (Bool pixelOrder=True) const

Retrieve axis names in pixel or world axis order.

Vector<Double> referencePixels (Bool oneRel=True) const

Retrieve reference pixels (0 or 1 rel)

Vector<Double> referenceValues (Bool pixelOrder=True) const

Retrieve reference values in pixel or world axis order.

Vector<Double> axisIncrements (Bool pixelOrder=True) const

Retrieve axis increments in pixel or world axis order.

Vector<String> axisUnits(Bool pixelOrder=True) const

Retrieve axis units in pixel or world axis order.

Unit units () const

Retrieve image units

String name() const

Retrieve image name. Any prepended path is stripped off.

String observer() const

Retrieve observer name

String obsDate(MEpoch& date) const

Return epoch of observation as MEpoch or formatted string

String telescope() const

Return telescope

Bool restFrequency(String& restFreqString, Quantum<Double>& restFreq) const

Return rest frequency. Returns False if none.

Bool frequencySystem(String& freqTypeString, MFrequency::Types& freqType) const

Return frequency system. Returns False if none.

Bool directionSystem(String& dirTypeString, MDirection::Types& dirType) const

Return direction system. Returns False if none.

Bool hasAMask () const

Retrieve whether image has mask or not

Vector<String> maskNames() const

Retrieve mask names

Vector<String> regionNames() const

Retrieve region names

String defaultMaskName() const

Retrieve default mask name. Empty if none

Vector<Quantum<Double> > restoringBeam() const

Retrieve restoring beam. Will be of length zero if does not exist

String imageType () const

Retrieve image type

Vector<String> list(LogIO& os, const MDoppler::Types velocityType=MDoppler::RADIO, Bool postLocally=False)

List all header information. By default, the reference values and pixel increments are converted to a "nice" unit before formatting (e.g. RA is shown as HH:MM:SS.S). For spectral axes, both frequency and velocity information is listed. You can specify what velocity definition you want with velocityType If postLocally is True, the formatted strings are returned in the return value

Bool setNewImage (const ImageInterface<T>& image)

Set a new image

String makeMasksString() const

String makeRegionsString() const