00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef DIMO2IMG_H
00035 #define DIMO2IMG_H
00036
00037 #include "dcmtk/config/osconfig.h"
00038 #include "dcmtk/dcmdata/dctypes.h"
00039
00040 #include "dcmtk/dcmimgle/dimoimg.h"
00041
00042
00043
00044
00045
00046
00049 class DiMono2Image
00050 : public DiMonoImage
00051 {
00052
00053 public:
00054
00060 DiMono2Image(const DiDocument *docu,
00061 const EI_Status status);
00062
00070 DiMono2Image(const DiDocument *docu,
00071 const EI_Status status,
00072 const double slope,
00073 const double intercept);
00074
00083 DiMono2Image(const DiDocument *docu,
00084 const EI_Status status,
00085 const DcmUnsignedShort &data,
00086 const DcmUnsignedShort &descriptor,
00087 const DcmLongString *explanation);
00088
00096 DiMono2Image(const DiColorImage *image,
00097 const double red,
00098 const double green,
00099 const double blue);
00100
00109 DiMono2Image(const DiMonoImage *image,
00110 DiMonoOutputPixel *pixel,
00111 const unsigned long frame,
00112 const int stored,
00113 const int alloc);
00114
00117 virtual ~DiMono2Image();
00118
00122 virtual EP_Interpretation getInternalColorModel() const
00123 {
00124 return EPI_Monochrome2;
00125 }
00126
00136 virtual const void *getOutputData(const unsigned long frame,
00137 const int bits,
00138 const int planar = 0);
00139
00151 virtual int getOutputData(void *buffer,
00152 const unsigned long size,
00153 const unsigned long frame,
00154 const int bits,
00155 const int planar = 0);
00156
00164 DiImage *createImage(const unsigned long fstart,
00165 const unsigned long fcount) const;
00166
00185 DiImage *createScale(const signed long left_pos,
00186 const signed long top_pos,
00187 const unsigned long clip_width,
00188 const unsigned long clip_height,
00189 const unsigned long scale_width,
00190 const unsigned long scale_height,
00191 const int interpolate,
00192 const int aspect,
00193 const Uint16 pvalue) const;
00194
00202 DiImage *createFlip(const int horz,
00203 const int vert) const;
00204
00211 DiImage *createRotate(const int degree) const;
00212
00222 DiImage *createMono(const double dummy1,
00223 const double dummy2,
00224 const double dummy3) const;
00225
00226
00227 protected:
00228
00235 DiMono2Image(const DiDocument *docu,
00236 const EI_Status status,
00237 const char dummy);
00238
00245 DiMono2Image(const DiMonoImage *image,
00246 const unsigned long fstart,
00247 const unsigned long fcount);
00248
00266 DiMono2Image(const DiMonoImage *image,
00267 const signed long left_pos,
00268 const signed long top_pos,
00269 const Uint16 src_cols,
00270 const Uint16 src_rows,
00271 const Uint16 dest_cols,
00272 const Uint16 dest_rows,
00273 const int interpolate = 0,
00274 const int aspect = 0,
00275 const Uint16 pvalue = 0);
00276
00283 DiMono2Image(const DiMonoImage *image,
00284 const int horz,
00285 const int vert);
00286
00292 DiMono2Image(const DiMonoImage *image,
00293 const int degree);
00294 };
00295
00296
00297 #endif
00298
00299
00300
00301
00302
00303
00304
00305
00306
00307
00308
00309
00310
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333
00334
00335
00336
00337
00338
00339
00340
00341
00342
00343
00344
00345
00346
00347
00348
00349
00350
00351
00352
00353
00354
00355
00356
00357
00358
00359
00360
00361
00362
00363