28 #ifndef IMAGES_IMAGEEXPR_H
29 #define IMAGES_IMAGEEXPR_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/casa/Arrays/ArrayFwd.h>
35 #include <casacore/images/Images/ImageInterface.h>
36 #include <casacore/lattices/LEL/LatticeExpr.h>
37 #include <casacore/casa/Containers/Record.h>
38 #include <casacore/casa/Quanta/Unit.h>
46 class LatticeNavigator;
47 template <
class T>
class LatticeIterInterface;
241 #ifndef CASACORE_NO_AUTO_TEMPLATES
242 #include <casacore/images/Images/ImageExpr.tcc>
LockType
Define the possible lock types.
virtual Bool hasLock(FileLocker::LockType) const
virtual String imageType() const
Get the image type (returns name of derived class).
virtual void tempClose()
Temporarily close the lattice.
virtual Bool isPersistent() const
Is the lattice persistent and can it be loaded by other processes as well?
ImageExpr()
The default constructor.
ImageExpr< T > & operator=(const ImageExpr< T > &other)
Assignment (reference semantics)
virtual LatticeIterInterface< T > * makeIter(const LatticeNavigator &navigator, Bool useRef) const
These are the implementations of the LatticeIterator letters.
virtual Bool ok() const
Check class invariants.
virtual Bool lock(FileLocker::LockType, uInt nattempts)
Handle the (un)locking and syncing.
~ImageExpr()
Destructor does nothing.
virtual Bool doGetMaskSlice(Array< Bool > &buffer, const Slicer §ion)
Do the actual get of the mask data.
ImageExpr(const LatticeExpr< T > &latticeExpr, const String &expr, const String &fileName, const JsonKVMap &)
ImageExpr(const LatticeExpr< T > &latticeExpr, const String &expr, const String &fileName=String())
Construct an ImageExpr from a LatticeExpr.
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...
void setFileName(const String &name)
Set the file name.
virtual void reopen()
Explicitly reopen the temporarily closed lattice.
LatticeExpr< T > latticeExpr_p
virtual Bool isWritable() const
Returns False, as the ImageExpr is not writable.
const LatticeExpr< T > & expression() const
Get the lattice expression.
ImageExpr(const LatticeExpr< T > &latticeExpr, const String &expr, const String &fileName, const LELImageCoord &imCoord)
Same as previous constructor, but the coordinates are taken from the given LELImageCoord object.
virtual ImageInterface< T > * cloneII() const
Make a copy of the object (reference semantics).
virtual Bool doGetSlice(Array< T > &buffer, const Slicer &theSlice)
Do the actual get of the data.
virtual void resync()
Resynchronize the Lattice object with the lattice file.
virtual const LatticeRegion * getRegionPtr() const
Get the region used.
virtual void resize(const TiledShape &newShape)
Function which changes the shape of the ImageExpr.
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 setMiscInfo(const RecordInterface &newInfo)
Replace the miscinfo in the ImageExpr, which writes the image.expr file.
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.
ImageExpr(const ImageExpr< T > &other)
Copy constructor (reference semantics)
virtual IPosition shape() const
return the shape of the ImageExpr
virtual void save(const String &fileName) const
Save the image in an AipsIO file with the given name.
virtual Bool isMasked() const
Has the object really a mask?
String: the storage and methods of handling collections of characters.
this file contains all the compiler specific defines
bool Bool
Define the standard types used by Casacore.