📄 lxdcmfilein.hpp.svn-base
字号:
#ifndef LXDICOM_HPP_
#define LXDICOM_HPP_
#include <stdio.h>
#include "LXDcmFile.hpp"
enum DATA_ENDIAN
{
LITTLE_ENDIAN,
BIG_ENDIAN
};
enum CONVERSION_MODE
{
MODE_DICOM2BMP = 0,
MODE_BMP2DICOM
};
enum COMPRESSION_MODE
{
COMPRESS_NONE = 0,
COMPRESS_RLE,
COMPRESS_JPEGLOSSY,
COMPRESS_JPEGLOSSY12BIT,
COMPRESS_JPEGLOSSLESS,
COMPRESS_JPEGLOSSLESS2
};
class CLXDcmFileIn:public CLXDcmFile
{
public:
CLXDcmFileIn(const char *fileName);
~CLXDcmFileIn(void);
private:
void removeTailingSpace(char *pszStr);
void SwapWord(char *pArray, int nWords);
void SwapDWord(char *pArray, int nDWords);
int readUS(FILE *fp, DATA_ENDIAN nDataEndian); //read unsigned short
long int readLength(FILE *fp, bool bImplicitVR, DATA_ENDIAN nDataEndian);
int readIS(FILE *fp, bool bImplicitVR, DATA_ENDIAN nDataEndian);
int readString(FILE *fp, char *pszStr, bool bImplicitVR, DATA_ENDIAN nDataEndian);
float readDS(FILE *fp, bool bImplicitVR, DATA_ENDIAN nDataEndian);
char *convertTo8Bit(char *pData, long int nNumPixels, bool bIsSigned, short nHighBit,
float fRescaleSlope, float fRescaleIntercept,
float fWindowCenter, float fWindowWidth);
private:
//int fileFormat;
bool m_bValid;
int m_nWidth,m_nHeigt,m_bNumBytes,m_nWindowLevel,m_nWindowWidth;
int m_nDepth,m_nBitsAllocated;
int m_nNumFrames;//
char * m_pData;
int m_nFrameSize;
char m_szPhotometric[32];
public:
int GetImageWidth();
int GetImageHeight();
char* GetImageData();
int GetImageDepth();
int GetNumBytes();//get number of bytes occupied by a pixel
bool IsValid();
int GetWindowLevel();
int GetWindowWidth();
int GetChannel();
int GetBitsAllocated(); //Number of bits allocated for each pixel sample
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -