28 #ifndef IMAGES_IMAGEINTERFACE_H 29 #define IMAGES_IMAGEINTERFACE_H 33 #include <casacore/casa/aips.h> 34 #include <casacore/images/Regions/RegionHandler.h> 35 #include <casacore/images/Images/MaskSpecifier.h> 36 #include <casacore/images/Images/ImageInfo.h> 37 #include <casacore/images/Images/ImageAttrHandler.h> 38 #include <casacore/lattices/Lattices/MaskedLattice.h> 39 #include <casacore/coordinates/Coordinates/CoordinateSystem.h> 40 #include <casacore/tables/LogTables/LoggerHolder.h> 41 #include <casacore/tables/Tables/TableRecord.h> 42 #include <casacore/casa/Quanta/Unit.h> 47 template <
class T>
class LatticeIterInterface;
48 template <
class T>
class Vector;
49 template <
class T>
class COWPtr;
146 template <
class T>
class ImageInterface:
public MaskedLattice<T>
165 virtual MaskedLattice<T>*
cloneML()
const;
166 virtual ImageInterface<T>*
cloneII()
const = 0;
174 virtual void resize (
const TiledShape& newShape) = 0;
340 uInt startNumber = 1)
const;
343 virtual Bool ok()
const = 0;
402 #ifndef CASACORE_NO_AUTO_TEMPLATES 403 #include <casacore/images/Images/ImageInterface.tcc> 404 #endif //# CASACORE_NO_AUTO_TEMPLATES virtual String getDefaultMask() const
Get the name of the default pixelmask.
virtual Bool setUnits(const Unit &newUnits)
Function which get and set the units associated with the image pixels (i.e.
A 1-D Specialization of the Array class.
void append(const LoggerHolder &other)
Append the entries of the other logger to this one.
const ImageInfo & imageInfo() const
The ImageInfo object contains some miscellaneous information about the image which unlike that stored...
RegionHandler * getRegionHandler()
Get access to the region handler.
const LoggerHolder & logger() const
virtual ImageAttrHandler & attrHandler(Bool createHandler=False)
Get access to the attribute handler.
virtual ~ImageInterface()
Bool toRecord(String &error, RecordInterface &outRec)
Save and restore an ImageInterface object to or from a state Record.
ImageInterface & operator=(const ImageInterface &other)
Assignment (copy semantics) is only useful for derived classes.
virtual LELCoordinates lelCoordinates() const
Function to get a LELCoordinate object containing the coordinates.
Envelope class to handle Lattice Coordinates in LEL.
void appendLog(const LoggerHolder &other)
Add the messages from the other image logger to this one.
LoggerHolder & logger()
Get access to the LoggerHolder.
virtual Bool canDefineRegion() const
Can the class indeed define and handle regions? The default implementation returns False...
String makeUniqueRegionName(const String &rootName, uInt startNumber=1) const
Make a unique region name from the given root name, thus make it such that the name is not already in...
Bool restoreImageInfo(const RecordInterface &rec)
Restore the image info from the record.
ImageAttrHandler itsBaseAttrHandler
The attribute handling object.
ostream-like interface to creating log messages.
virtual MaskedLattice< T > * cloneML() const
Make a copy of the derived object (reference semantics).
virtual const Unit & units() const
Base class for handling regions in images.
Abstract base class for an image attributes handler.
Bool fromRecord(String &error, const RecordInterface &inRec)
void setUnitMember(const Unit &unit)
Set the unit variable.
virtual ImageRegion makeMask(const String &name, Bool defineAsRegion=True, Bool setAsDefaultMask=True, Bool initialize=False, Bool value=True)
Make a mask which is suitable for the type of image.
void setImageInfoMember(const ImageInfo &imageInfo)
Set the image info variable.
virtual Bool setMiscInfo(const RecordInterface &newInfo)
void setLogMember(const LoggerHolder &logger)
Set the image logger variable.
const LogIO & logSink() const
virtual void defineRegion(const String &name, const ImageRegion ®ion, RegionHandler::GroupType, Bool overwrite=False)
Define a region/mask belonging to the image.
A base class for astronomical images.
virtual IPosition shape() const =0
Return the shape of the Lattice including all degenerate axes (ie.
Class to specify which mask to use in an image.
virtual void setDefaultMask(const String ®ionName)
Set the default pixelmask to the mask with the given name (which has to exist in the "masks" group)...
ImageInfo & rwImageInfo()
Get non-const access to the ImageInfo.
virtual Bool ok() const =0
Check class invariants.
virtual Vector< String > regionNames(RegionHandler::GroupType=RegionHandler::Any) const
Get the names of all regions/masks.
ImageAttrHandler & roAttrHandler() const
virtual String name(Bool stripPath=False) const =0
Return the name of the current ImageInterface object.
virtual ImageInterface< T > * cloneII() const =0
bool Bool
Define the standard types used by Casacore.
virtual String imageType() const =0
Get the image type (returns name of derived class).
virtual Bool setCoordinateInfo(const CoordinateSystem &coords)
Functions to set or replace the coordinate information in the Image Returns False on failure...
virtual void renameRegion(const String &newName, const String &oldName, RegionHandler::GroupType=RegionHandler::Any, Bool overwrite=False)
Rename a region.
A hierarchical collection of named fields of various types.
Bool canDefineRegion() const
Can the image handle region definition?
virtual Bool hasRegion(const String ®ionName, RegionHandler::GroupType=RegionHandler::Any) const
Does the image have a region with the given name?
Class to hold a region of interest in an image.
const TableRecord & miscInfo() const
Often we have miscellaneous information we want to attach to an image.
virtual void assign(const RecordInterface &that)
Assign that RecordInterface object to this one.
LogIO & logSink()
Allow messages to be logged to this ImageInterface.
virtual void resize(const TiledShape &newShape)=0
Function which changes the shape of the image (N.B.
LogIO & logio()
Get access to the logger.
const LatticeRegion & region() const
Get the region used.
void setCoordsMember(const CoordinateSystem &coords)
Set the coordinate system variable.
String: the storage and methods of handling collections of characters.
CoordinateSystem coords_p
It is the job of the derived class to make these variables valid.
void setMiscInfoMember(const RecordInterface &rec)
Set the miscinfo variable.
Abstract base class for Record classes.
virtual void useMask(MaskSpecifier=MaskSpecifier())
Use the mask as specified.
virtual ImageRegion * getImageRegionPtr(const String &name, RegionHandler::GroupType=RegionHandler::Any, Bool throwIfUnknown=True) const
Get a region/mask belonging to the image from the given group (which can be Any). ...
Class holding a hierarchy of loggers.
Miscellaneous information related to an image.
ImageRegion getRegion(const String ®ionName, RegionHandler::GroupType=RegionHandler::Any) const
Get a region belonging to the image.
virtual void removeRegion(const String &name, RegionHandler::GroupType=RegionHandler::Any, Bool throwIfUnknown=True)
Remove a region/mask belonging to the image from the given group (which can be Any).
virtual Bool setImageInfo(const ImageInfo &info)
this file contains all the compiler specific defines
GroupType
Define the possible group types (regions or masks).
Interconvert pixel and world coordinates.
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
const CoordinateSystem & coordinates() const
RegionHandler * regHandPtr_p
The region handling object.