28 #ifndef IMAGES_IMAGEEXPR_H
29 #define IMAGES_IMAGEEXPR_H
45 template <
class T>
class Array;
46 class LatticeNavigator;
47 template <
class T>
class LatticeIterInterface;
111 template <
class T>
class ImageExpr:
public ImageInterface<T>
122 ImageExpr(
const LatticeExpr<T>& latticeExpr,
const String& expr,
123 const String& fileName = String());
124 ImageExpr(
const LatticeExpr<T>& latticeExpr,
const String& expr,
125 const String& fileName,
const JsonKVMap&);
129 ImageExpr(
const LatticeExpr<T>& latticeExpr,
130 const String& expr,
const String& fileName,
131 const LELImageCoord& imCoord);
140 ImageExpr<T>&
operator=(
const ImageExpr<T>& other);
143 virtual ImageInterface<T>*
cloneII()
const;
147 virtual void save (
const String& fileName)
const;
241 #ifndef CASACORE_NO_AUTO_TEMPLATES
242 #include <casacore/images/Images/ImageExpr.tcc>
243 #endif //# CASACORE_NO_AUTO_TEMPLATES
A Vector of integers, for indexing into Array<T> objects.
virtual String name(Bool stripPath=False) const
If the object is persistent, the file name is given.
void init(const LatticeExpr< T > &latticeExpr, const String &expr, const String &fileName, const JsonKVMap &)
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle the (un)locking and syncing.
virtual Bool doGetSlice(Array< T > &buffer, const Slicer &theSlice)
Do the actual get of the data.
virtual Bool isPersistent() const
Is the lattice persistent and can it be loaded by other processes as well?
virtual void tempClose()
Temporarily close the lattice.
~ImageExpr()
Destructor does nothing.
virtual LatticeIterInterface< T > * makeIter(const LatticeNavigator &navigator, Bool useRef) const
These are the implementations of the LatticeIterator letters.
virtual void resync()
Resynchronize the Lattice object with the lattice file.
virtual ImageInterface< T > * cloneII() const
Make a copy of the object (reference semantics).
virtual Bool isMasked() const
Has the object really a mask?
virtual Bool hasLock(FileLocker::LockType) const
A base class for Lattice iterators.
Define the shape and tile shape.
Class to hold a collection of JSON key:value pairs.
virtual String imageType() const
Get the image type (returns name of derived class).
ImageExpr< T > & operator=(const ImageExpr< T > &other)
Assignment (reference semantics)
virtual Bool setMiscInfo(const RecordInterface &newInfo)
Replace the miscinfo in the ImageExpr, which writes the image.expr file.
bool Bool
Define the standard types used by Casacore.
ImageExpr()
The default constructor.
virtual Bool doGetMaskSlice(Array< Bool > &buffer, const Slicer §ion)
Do the actual get of the mask data.
LatticeExpr< T > latticeExpr_p
Specify which elements to extract from an n-dimensional array.
virtual IPosition doNiceCursorShape(uInt maxPixels) const
Help the user pick a cursor for most efficient access if they only want pixel values and don't care a...
virtual Bool ok() const
Check class invariants.
virtual void doPutSlice(const Array< T > &sourceBuffer, const IPosition &where, const IPosition &stride)
putSlice is not possible on an expression, so it throws an exception.
virtual IPosition shape() const
return the shape of the ImageExpr
String: the storage and methods of handling collections of characters.
An optionally strided region in a Lattice.
virtual const LatticeRegion * getRegionPtr() const
Get the region used.
void setFileName(const String &name)
Set the file name.
Abstract base class for Record classes.
LockType
Define the possible lock types.
virtual void resize(const TiledShape &newShape)
Function which changes the shape of the ImageExpr.
Class to allow C++ expressions involving lattices.
virtual void save(const String &fileName) const
Save the image in an AipsIO file with the given name.
const LatticeExpr< T > & expression() const
Get the lattice expression.
virtual Bool isWritable() const
Returns False, as the ImageExpr is not writable.
virtual void reopen()
Explicitly reopen the temporarily closed lattice.
Abstract base class to steer lattice iterators.
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.