28 #ifndef IMAGES_IMAGEEXPRPARSE_H
29 #define IMAGES_IMAGEEXPRPARSE_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/lattices/LEL/LatticeExpr.h>
35 #include <casacore/casa/BasicSL/Complex.h>
36 #include <casacore/casa/BasicSL/String.h>
37 #include <casacore/casa/Utilities/DataType.h>
38 #include <casacore/casa/stdvector.h>
39 #include <casacore/casa/Utilities/CountedPtr.h>
40 #include <casacore/casa/HDF5/HDF5File.h>
45 template<
class T>
class Block;
46 template<
class T>
class PtrBlock;
274 const vector<Slice>& slices);
Referenced counted pointer for constant data.
static String setAddDir(const String &dirName, const String &fileName)
A function to test addDir.
LatticeExprNode makeLRNode() const
Make a LatticeExprNode object for the lattice or region name.
ImageExprParse(Double value)
LatticeExprNode makeLiteralNode() const
Make a LatticeExprNode object for the literal value.
static Slice * makeSlice(const ImageExprParse &start, const ImageExprParse &end)
LatticeExprNode makeFuncNode(const LatticeExprNode &arg1, const LatticeExprNode &arg2) const
static Table & getRegionTable(void *, Bool)
Callback function for RegionHandlerTable to get the table to be used.
static LatticeExprNode theirNode
static LatticeExprNode makeIndexinNode(const LatticeExprNode &axis, const vector< Slice > &slices)
Make a node for the INDEXIN function.
static LatticeExprNode command(const String &str, const Block< LatticeExprNode > &tempLattices, const PtrBlock< const ImageRegion * > &tempRegions, const String &dirName=String())
static IPosition makeBinning(const LatticeExprNode &values)
Make an IPosition containing the binning values.
LatticeExprNode makeFuncNode(const LatticeExprNode &arg1, const LatticeExprNode &arg2, const LatticeExprNode &arg3) const
LatticeExprNode makeImageNode(const String &name, const String &mask) const
Make the node from the image name and a mask name.
ImageExprParse(const Complex &value)
ImageExprParse(const String &value)
LatticeExprNode makeRegionNode() const
Make a LatticeExprNode object for the temporary region number.
ImageExprParse(const Char *value)
static void deleteNodes()
Bool tryLatticeNode(LatticeExprNode &node, const String &name) const
Try if the name represent a lattice or image.
static const vector< String > & getImageNames()
Get the names of the images used in the expression.
static const CountedPtr< HDF5File > & getRegionHDF5(void *)
Callback function for RegionHandlerHDF5 to get the file to be used.
ImageExprParse(Bool value)
Construct a literal object for the given type.
static LatticeExprNode makeValueList(const Block< LatticeExprNode > &values)
Make an array from a value list.
static vector< String > theirNames
ImageExprParse(Float value)
ImageExprParse(Int value)
ImageExprParse(const DComplex &value)
LatticeExprNode makeFuncNode() const
Make a LatticeExprNode for a function.
static String addDir(const String &fileName)
If a directory was given, prepend it to the file name if relative.
static void addNode(LatticeExprNode *node)
Keep track of the nodes allocated while parsing the expression.
static void setNode(const LatticeExprNode &node)
Set the static node object (used by the.y file).
LatticeExprNode makeLitLRNode() const
Make a LatticeExprNode object for the name of constant, lattice, or region.
static Slice * makeSlice(const ImageExprParse &start, const ImageExprParse &end, const ImageExprParse &incr)
static LatticeExprNode command(const String &str, const String &dirName=String())
Parse the given command.
static Slice * makeSlice(const ImageExprParse &start)
Make a Slice object from 1-3 literals.
static void addNode(ImageExprParse *node)
LatticeExprNode makeFuncNode(const LatticeExprNode &arg1) const
A drop-in replacement for Block<T*>.
String: the storage and methods of handling collections of characters.
std::complex< Float > Complex
std::complex< Double > DComplex
this file contains all the compiler specific defines
LatticeExprNode mask(const LatticeExprNode &expr)
This function returns the mask of the given expression.
bool Bool
Define the standard types used by Casacore.
LatticeExprNode value(const LatticeExprNode &expr)
This function returns the value of the expression without a mask.