Go to the documentation of this file.
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;
343 uInt startNumber = 1)
const;
405 #ifndef CASACORE_NO_AUTO_TEMPLATES
406 #include <casacore/images/Images/ImageInterface.tcc>
407 #endif //# CASACORE_NO_AUTO_TEMPLATES
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).
Bool canDefineRegion() const
Can the image handle region definition?
virtual Bool ok() const =0
Check class invariants.
virtual Bool setUnits(const Unit &newUnits)
Function which get and set the units associated with the image pixels (i.e.
Bool fromRecord(String &error, const RecordInterface &inRec)
void setUnitMember(const Unit &unit)
Set the unit variable.
GroupType
Define the possible group types (regions or masks).
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.
ImageAttrHandler & roAttrHandler() const
const TableRecord & miscInfo() const
Often we have miscellaneous information we want to attach to an image.
virtual Bool setCoordinateInfo(const CoordinateSystem &coords)
Functions to set or replace the coordinate information in the Image Returns False on failure,...
virtual Bool hasRegion(const String ®ionName, RegionHandler::GroupType=RegionHandler::Any) const
Does the image have a region with the given name?
virtual String name(Bool stripPath=False) const =0
Return the name of the current ImageInterface object.
void setMiscInfoMember(const RecordInterface &rec)
Set the miscinfo variable.
virtual Bool canDefineRegion() const
Can the class indeed define and handle regions? The default implementation returns False.
virtual void useMask(MaskSpecifier=MaskSpecifier())
Use the mask as specified.
virtual void resize(const TiledShape &newShape)=0
Function which changes the shape of the image (N.B.
ImageInterface(const RegionHandler ®ionHandler)
Construct for a specific region handler object.
ImageInterface(const ImageInterface &other)
Copy constructor (copy semantics).
void appendLog(const LoggerHolder &other)
Add the messages from the other image logger to this one.
virtual Vector< String > regionNames(RegionHandler::GroupType=RegionHandler::Any) const
Get the names of all regions/masks.
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...
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).
const LoggerHolder & logger() const
void append(const LoggerHolder &other)
Append the entries of the other logger to this one.
LogIO & logSink()
Allow messages to be logged to this ImageInterface.
LogIO & logio()
Get access to the logger.
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.
RegionHandler * regHandPtr_p
The region handling object.
virtual ~ImageInterface()
LoggerHolder & logger()
Get access to the LoggerHolder.
void setImageInfoMember(const ImageInfo &imageInfo)
Set the image info variable.
virtual LELCoordinates lelCoordinates() const
Function to get a LELCoordinate object containing the coordinates.
virtual ImageAttrHandler & attrHandler(Bool createHandler=False)
Get access to the attribute handler.
virtual void assign(const RecordInterface &that)
Assign that RecordInterface object to this one.
void setCoordsMember(const CoordinateSystem &coords)
Set the coordinate system variable.
this file contains all the compiler specific defines
virtual Bool setImageInfo(const ImageInfo &info)
ImageInterface & operator=(const ImageInterface &other)
Assignment (copy semantics) is only useful for derived classes.
ImageAttrHandler itsBaseAttrHandler
The attribute handling object.
CoordinateSystem coords_p
It is the job of the derived class to make these variables valid.
const CoordinateSystem & coordinates() const
virtual const Unit & units() const
ImageInfo & rwImageInfo()
Get non-const access to the ImageInfo.
const ImageInfo & imageInfo() const
The ImageInfo object contains some miscellaneous information about the image which unlike that stored...
virtual String getDefaultMask() const
Get the name of the default pixelmask.
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).
virtual ImageInterface< T > * cloneII() const =0
String: the storage and methods of handling collections of characters.
virtual void renameRegion(const String &newName, const String &oldName, RegionHandler::GroupType=RegionHandler::Any, Bool overwrite=False)
Rename a region.
bool Bool
Define the standard types used by Casacore.
void setLogMember(const LoggerHolder &logger)
Set the image logger variable.
virtual MaskedLattice< T > * cloneML() const
Make a copy of the derived object (reference semantics).
RegionHandler * getRegionHandler()
Get access to the region handler.
Bool restoreImageInfo(const RecordInterface &rec)
Restore the image info from the record.
virtual void defineRegion(const String &name, const ImageRegion ®ion, RegionHandler::GroupType, Bool overwrite=False)
Define a region/mask belonging to the image.
virtual Bool setMiscInfo(const RecordInterface &newInfo)
const LogIO & logSink() const
Bool toRecord(String &error, RecordInterface &outRec)
Save and restore an ImageInterface object to or from a state Record.
virtual String imageType() const =0
Get the image type (returns name of derived class).
ImageRegion getRegion(const String ®ionName, RegionHandler::GroupType=RegionHandler::Any) const
Get a region belonging to the image.