⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dicoimg.h

📁 转化为DIB位图再显示出来的dicom文件C++代码
💻 H
📖 第 1 页 / 共 2 页
字号:
                            const int upsideDown,                            const int padding = 1);    /** create true color (32 bit) bitmap for Java (AWT default format).     *  Memory is not handled internally - must be deleted from calling program.     *     ** @param  data   resulting pointer to bitmap data (set to NULL if an error occurred)     *  @param  frame  index of frame to be converted (default: first frame)     *  @param  bits   number of bits per pixel used for the output bitmap (32)     *     ** @return number of bytes allocated by the bitmap, or 0 if an error occured     */    unsigned long createAWTBitmap(void *&data,                                  const unsigned long frame,                                  const int bits);    /** write current image and related attributes to DICOM dataset.     *     ** @param  dataset  reference to DICOM dataset where the image attributes are stored     *  @param  mode     dummy parameter (only used for monochrome images)     *     ** @return true if successful, false otherwise     */    int writeImageToDataset(DcmItem &dataset,                            const int mode);    /** write pixel data to PPM file.     *  pixel data is written in ASCII format.     *     ** @param  stream  open C++ output stream     *  @param  frame   index of frame used for output     *  @param  bits    number of bits used for output of pixel data     *     ** @return true if successful, false otherwise     */    int writePPM(ostream &stream,                 const unsigned long frame,                 const int bits);    /** write pixel data to PPM file.     *  pixel data is written in ASCII format.     *     ** @param  stream  open C output stream     *  @param  frame   index of frame used for output     *  @param  bits    number of bits used for output of pixel data     *     ** @return true if successful, false otherwise     */    int writePPM(FILE *stream,                 const unsigned long frame,                 const int bits);    /** write pixel data to raw PPM file     *     ** @param  stream  open C output stream     *  @param  frame   index of frame used for output     *  @param  bits    number of bits used for output of pixel data     *     ** @return true if successful, false otherwise     */    int writeRawPPM(FILE *stream,                    const unsigned long frame,                    const int bits);    /** write pixel data to BMP file     *     ** @param  stream  open C output stream     *  @param  frame   index of frame used for output (default: first frame = 0)     *  @param  bits    number of bits used for output of pixel data (24, 0=default means 24)     *     ** @return true if successful, false otherwise     */    int writeBMP(FILE *stream,                 const unsigned long frame,                 const int bits); protected:    /** constructor, copy     *     ** @param  image   pointer to reference image     *  @param  fstart  first frame to be processed     *  @param  fcount  number of frames     */    DiColorImage(const DiColorImage *image,                 const unsigned long fstart,                 const unsigned long fcount);    /** constructor, scale/clip     *     ** @param  image        pointer to reference image     *  @param  left_pos     x coordinate of top left corner of area to be scaled     *                       (referring to image origin, negative values create a border around the image)     *  @param  top_pos      y coordinate of top left corner of area to be scaled     *  @param  src_cols     width of area to be scaled     *  @param  src_rows     height of area to be scaled     *  @param  dest_cols    width of scaled image (in pixels)     *  @param  dest_rows    height of scaled image (in pixels)     *  @param  interpolate  specifies whether scaling algorithm should use interpolation (if necessary)     *                       default: no interpolation (0), 1 = pbmplus algorithm, 2 = c't algorithm     *  @param  aspect       specifies whether pixel aspect ratio should be taken into consideration     *                       (if true, width OR height should be 0, i.e. this component will be calculated     *                        automatically)     */    DiColorImage(const DiColorImage *image,                 const signed long left_pos,                 const signed long top_pos,                 const Uint16 src_cols,                 const Uint16 src_rows,                 const Uint16 dest_cols,                 const Uint16 dest_rows,                 const int interpolate = 0,                 const int aspect = 0);    /** constructor, flip     *     ** @param  image  pointer to reference image     ** @param  horz   flip horizontally if true     *  @param  vert   flip vertically if true     */    DiColorImage(const DiColorImage *image,                 const int horz,                 const int vert);    /** constructor, rotate     *     ** @param  image   pointer to reference image     *  @param  degree  angle by which the image shall be rotated     */    DiColorImage(const DiColorImage *image,                 const int degree);    /** check intermediate pixel representation for consistency     *     ** @param  mode  check number of pixels stored in the dataset if true     */    int checkInterData(const int mode = 1);    /** get pixel data with specified format.     *  (memory is handled externally)     *     ** @param  buffer    untyped pointer to the externally allocated memory buffer     *  @param  size      size of the memory buffer in bytes (will be checked)     *  @param  frame     number of frame to be rendered     *  @param  bits      number of bits for the output pixel data (depth)     *  @param  planar    flag, 0 = color-by-pixel and 1 = color-by-plane     *     ** @return untyped pointer to the pixel data if successful, NULL otherwise     */    const void *getData(void *buffer,                        const unsigned long size,                        const unsigned long frame,                        const int bits,                        const int planar);    /** update Image Pixel Module attributes in the given dataset.     *  Removes color palette lookup tables.  Used in writeXXXToDataset() routines.     *     ** @param  dataset  reference to DICOM image dataset     */    virtual void updateImagePixelModuleAttributes(DcmItem &dataset);    /// flag, indicating whether the intermediate representation uses the RGB color model    const OFBool RGBColorModel;    /// points to intermediate pixel data representation (object)    DiColorPixel *InterData; private:    /// points to current output data (object)    DiColorOutputPixel *OutputData; // --- declarations to avoid compiler warnings    DiColorImage(const DiColorImage &);    DiColorImage &operator=(const DiColorImage &);};#endif/* * * CVS/RCS Log: * $Log: dicoimg.h,v $ * Revision 1.23  2005/12/08 16:01:30  meichel * Changed include path schema for all DCMTK header files * * Revision 1.22  2005/03/09 17:45:08  joergr * Added mode to writeImageToDataset() - only used for monochrome images. * * Revision 1.21  2004/07/20 18:13:16  joergr * Added API method to "officially" access the internal intermediate pixel data * representation (e.g. to get Hounsfield Units for CT images). * * Revision 1.20  2004/02/06 11:18:18  joergr * Distinguish more clearly between const and non-const access to pixel data. * * Revision 1.19  2003/12/17 18:10:56  joergr * Removed leading underscore characters from preprocessor symbols (reserved * symbols). * * Revision 1.18  2003/06/12 15:09:41  joergr * Fixed inconsistent API documentation reported by Doxygen. * * Revision 1.17  2003/05/20 09:26:05  joergr * Added method returning the number of bytes required to store a single * rendered frame: getOutputDataSize(). * * Revision 1.16  2002/12/09 13:37:51  joergr * Renamed parameter/local variable to avoid name clashes with global * declaration left and/or right (used for as iostream manipulators). * * Revision 1.15  2002/08/02 15:07:02  joergr * Added function to write the current image (not only a selected frame) to a * DICOM dataset. * * Revision 1.14  2002/01/29 17:07:07  joergr * Added optional flag to the "Windows DIB" methods allowing to switch off the * scanline padding. * * Revision 1.13  2001/11/27 18:22:17  joergr * Added support for plugable output formats in class DicomImage. First * implementation is JPEG. * * Revision 1.12  2001/11/09 16:38:36  joergr * Added support for Windows BMP file format. * Enhanced and renamed createTrueColorDIB() method. * Updated/Enhanced comments. * * Revision 1.11  2001/09/28 13:55:40  joergr * Added new flag (CIF_KeepYCbCrColorModel) which avoids conversion of YCbCr * color models to RGB. * * Revision 1.10  2001/06/01 15:49:28  meichel * Updated copyright header * * Revision 1.9  2000/03/08 16:21:50  meichel * Updated copyright header. * * Revision 1.8  1999/08/25 16:58:06  joergr * Added new feature: Allow clipping region to be outside the image * (overlapping). * * Revision 1.7  1999/04/28 12:51:57  joergr * Corrected some typos, comments and formatting. * * Revision 1.6  1999/01/20 14:39:52  joergr * Added new output method to fill external memory buffer with rendered pixel * data. * * Revision 1.5  1998/11/27 13:43:29  joergr * Added methods and constructors for flipping and rotating, changed for * scaling and clipping. * * Revision 1.4  1998/07/01 08:39:18  joergr * Minor changes to avoid compiler warnings (gcc 2.8.1 with additional * options), e.g. add copy constructors. * * Revision 1.3  1998/05/11 14:53:11  joergr * Added CVS/RCS header to each file. * * */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -