Horus Doc || IDL Reference || C++ Binding   Java Binding || Doxygen's quick Index  

HxCorbaImageRep.idl

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

Generated on Mon Jan 27 15:09:38 2003 for IDLReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001