Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members  

HxCorbaImageRep.idl

Go to the documentation of this file.
00001 
00002 /*
00003  *  Copyright (c) 2000, University of Amsterdam, The Netherlands.
00004  *  All rights reserved.
00005  *
00006  *  Author(s):
00007  *  Marc Navarro            (mnavarro@wins.uva.nl)
00008  */
00009 
00010 #ifndef HxCorbaImageRep_idl
00011 #define HxCorbaImageRep_idl
00012 
00013 #include "HxCorbaTagList.idl"
00014 #include "HxCorbaTypes.idl"
00015 #include "HxCorbaPixValue.idl"
00016 #include "HxCorbaRgbBuffer.idl"
00017 #include "HxCorbaMatrix.idl"
00018 #include "HxCorbaRefCountBase.idl"
00019 
00020 module HxCorba
00021 {
00022     enum PixelT { INT_VALUE, REAL_VALUE, COMPLEX_VALUE };
00023 
00024     enum ImageSignature { SIG2DBYTE, SIG2DSHORT, SIG2DINT, SIG2DFLOAT, SIG2DDOUBLE,
00025             SIG2DVEC2BYTE,SIG2DVEC2SHORT,SIG2DVEC2INT,SIG2DVEC2FLOAT,SIG2DVEC2DOUBLE,
00026             SIG2DVEC3BYTE,SIG2DVEC3SHORT,SIG2DVEC3INT,SIG2DVEC3FLOAT,SIG2DVEC3DOUBLE, SIG2DCOMPLEX};
00027 
00028     //typedef Vec3I Sizes;
00029     struct Sizes { long x; long y; long z; };
00030     
00031     struct Point { double x; double y; double z; };
00032     
00033     interface ImageData
00034     {
00035         long            dimensionality();
00036         long            numberOfPixels();
00037         long            pixelDimensionality();
00038         long            pixelPrecision();
00039         PixelT          pixelType();
00040         Sizes           getSizes();
00041         long            dimensionSize(in long i);
00042         ImageSignature  signature();
00043 
00044         RgbSeq          getRgb2d(in string displayMode);
00045         void            fillRgb2d(in RgbBuffer buf, in string displayMode);
00046         
00047         //LongSeq         getIntData();
00048         //RealSeq         getRealData();
00049         
00050         // or:
00051         //DataUnio        getData();
00052     };
00053     
00054     
00055 
00056     enum GeoIntType { LINEAR, NEAREST };
00057     enum GeoTransType { FORWARD, BACKWARD };
00058     enum ResultPrecision { SOURCE_PREC, ARITH_PREC, SMALL_PREC };
00059 
00060     exception ImageException
00061     {
00062         string      message;
00063     };
00064     
00065     interface ImageRep; //forward declaration
00066     typedef sequence<ImageRep> ImageList;
00067 
00068     interface ImageRep : ImageData, RefCountBase
00069     {
00070         ImageRep    binaryPixOp(in ImageRep arg, in string bpoName, 
00071                         in TagList tags)
00072                         raises(ImageException);
00073 
00074         ImageRep    binaryPixOpVal(in PixValue arg, in string bpoName, 
00075                         in TagList tags)
00076                         raises(ImageException);
00077 
00078         ImageRep    unaryPixOp(in string upoName, in TagList tags)
00079                         raises(ImageException);
00080 
00081         ImageRep    multiPixOp(in ImageList args, in string mpoName, 
00082                         in TagList tags)
00083                         raises(ImageException);
00084 
00085         ImageList   MNPixOp(in ImageList args, in string mpoName, 
00086                         in TagList tags)
00087                         raises(ImageException);
00088 
00089         PixValue    reduceOp(in string op, in TagList tags)
00090                         raises(ImageException);
00091 
00092         ImageRep    generalizedConvolution(in ImageRep kernel, 
00093                         in string gMul, in string gAdd,
00094                         in ResultPrecision resPrec, in TagList tags)
00095                         raises(ImageException);
00096 
00097         ImageRep    generalizedConvolutionK1d(in long dimension,  
00098                        in ImageRep kernel, in string gMul, in string gAdd,                         in ResultPrecision resPrec, in TagList tags)                        raises(ImageException);
00099 
00100         ImageRep    neighbourhoodOp(in string ngbName, in TagList tags)
00101                         raises(ImageException);
00102 
00103         ImageRep    recursiveNeighOp(in ImageRep kerImg, in string gMul,
00104                                      in string gAdd, in TagList tags,
00105                                      in ResultPrecision resPrec)
00106                         raises(ImageException);
00107 
00108         ImageRep    geometricOp2d(in Matrix func, in GeoIntType gi,
00109                         in GeoTransType gt, in boolean adjustSize,
00110                         in PixValue background) 
00111                         raises(ImageException);
00112 
00113         ImageRep    scale(in double sx, in double sy, in GeoIntType gi);
00114 
00115         PixValue    getAt(in long x, in long y, in long zz);
00116 
00117         //void        destroy();
00118     };
00119 
00120     interface ImageFactory
00121     {
00122         ImageRep    importImage(in ImageData data);
00123         
00124         ImageRep    fromSignature(in ImageSignature sig, in Sizes size); 
00125         ImageRep    fromImage(in ImageSignature sig, in ImageRep src); 
00126         ImageRep    fromValue(in ImageSignature sig, in Sizes size,
00127                     in PixValue val);
00128 
00129         ImageRep    fromByteData(in long pixelDimensionality,in long dimensions,                        
00130                         in Sizes size, in OctetSeq data); 
00131         ImageRep    fromShortData(in long pixelDimensionality, in long dimensions,
00132                         in Sizes size, in ShortSeq data);
00133         ImageRep    fromIntData(in long pixelDimensionality, in long dimensions,
00134                         in Sizes size, in LongSeq data);
00135         ImageRep    fromFloatData(in long pixelDimensionality, in long dimensions,
00136                         in Sizes size, in FloatSeq data);
00137         ImageRep    fromDoubleData(in long pixelDimensionality, in long dimensions,
00138                         in Sizes size, in DoubleSeq data);
00139 
00140         ImageRep    fromJavaRgb(in ImageSignature sig, in Sizes size, 
00141                         in RgbSeq pixels);
00142         ImageRep    fromGrayValue(in ImageSignature sig, in Sizes size, 
00143                         in OctetSeq pixels);
00144         ImageRep    fromMatlab(in ImageSignature sig, in Sizes size,
00145                         in DoubleSeq pixels);
00146 
00147         ImageRep    fromNamedGenerator(in ImageSignature sig,
00148                         in string generatorName, in TagList tags);
00149         ImageRep    fromImport(in ImageSignature sig, in Sizes size, 
00150                         in string importOp, in TagList tags);
00151 
00152         ImageRep    from2Images(in ImageRep i1, in ImageRep i2);
00153         ImageRep    from3Images(in ImageRep i1, in ImageRep i2, 
00154                         in ImageRep i3);
00155 
00156         ImageRep    fromFile(in string fileName);
00157         
00158         //ImageRep    loadImage(in string name);
00159         //ImageRep    createImage(in Sizes size, in PixelSeq pixels);
00160         //boolean     createdHere(in ImageRep img);
00161     };
00162 };
00163 
00164 #endif //HxCorbaImageRep_idl

Generated on Tue Jan 8 13:55:44 2002 for IDLReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001