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

📄 dicomobject.h

📁 3D reconstruction, medical image processing from colons, using intel image processing for based clas
💻 H
字号:
// DicomObject.h: interface for the RxDicomObject class.////////////////////////////////////////////////////////////////////////#if !defined(_DICOMOBJECT_H_)#define _DICOMOBJECT_H_#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000#include "dicom.h"#include "lst.h"#include "dicom_objects.h"#define ID_CHANGE	WM_USER+7enum _RedefinedType {RX_INT, RX_FLOAT, RX_SZ, RX_WORD, RX_LPBYTE, RX_LPDOUBLE, RX_DOUBLE};enum _DicomIndex { DI_ECHOTIME,                   DI_REPEATTIME,				   DI_EXPOSURETIME,				   DI_SCANSEQUENCE,				   DI_TABLEANGLE,				   DI_INSTITUTIONAME,				   DI_FLIPANGLE,				   DI_SLICETHICKNESS,				   DI_CONTRAST,				   DI_PATIENTORIENTATION,				   DI_STUDYID,				   DI_SERIESUID,				   DI_STUDYUID,				   DI_IMAGEID,				   DI_IMAGETIME,				   DI_SERIESTIME,				   DI_IMAGENO,   				   DI_NOOFAVE,				   DI_TI,				   DI_MA,				   DI_EXAMTIME,				   DI_DEVICENAME,				   DI_IMAGEDATA,				   DI_PIXELSPACE,				   DI_PIXELYSPACE,				   DI_BITALLOCATED,				   DI_COLUMN,				   DI_ROW,				   DI_SAMPLEPERPIXEL,				   DI_FILENAME,				   DI_SLICELOCATION,				   DI_LOCATION,				   DI_SERIESNO,				   DI_EXAMDATE,				   DI_SEX,				   DI_BIRTHDATE,				   DI_ORIGINALBIRTHDATE,				   DI_PATIENTNAME,				   DI_KVP,				   DI_RESCALEINTERCEPT,				   DI_RESCALESLOPE,				   DI_IMAGEBEGININDEX,				   DI_PATIENTID,				   DI_MODALITY,				   DI_MATRIX,				   DI_SOPINSTANCEUID,				   DI_ACQUISITIONTIME,				   DI_IMAGEORIENTATION,				   DI_JPEGDATALENGTH,	//test				   DI_JPEGOFFSET		//test};typedef struct _DataElement {	short iGroup;	short iItem;	int nLength;} DataElement;typedef struct _tagDataElement {	short iGroup;	short iItem;	char VR[2];	int nLength;} TagDataElement;class RxDicomObject  {public:	enum DICOM_FOLDER_TYPE {FT_STUDY, FT_SERIES};private:	CString m_strEchoTime;	CString m_strRepeatTime;	CString m_strInstitutionName;	CString m_strExposureTime;	CString m_strScanSequence;	CString m_strContrast;	CString m_strPatientOrientation;	CString m_strExamDate;	CString m_strSex;	CString m_strBirthDate;	CString m_strOriginalBirthDate;	CString m_strPatientName;	CString m_strStudyID;	CString m_strSeriesUID;	CString m_strStudyUID;	CString m_strImageID;	CString m_strImageTime;	CString m_strSeriesTime;	CString m_strImageNo;	CString m_strExamTime;	CString m_strAcquisitionTime;	CString m_strDeviceName;	CString m_strPatientID;	CString m_strModal;	CString m_strMatrix;	CString m_strFilename;	CString m_strSOPInstanceUID;	float m_fTableAngle;	float m_fFlipAngle;	float m_fSliceThickness;	float m_fPixelSpace;	float m_fPixelYSpace;	float m_fSliceLocation;	float m_fLocation;	float m_fKVP;	float m_fRescaleIntercept;	float m_fRescaleSlope;	float m_afImagePosition[3];	double m_afImageOrientation[6];	int m_iNoOfAve;	int m_iTempImageBeginIndex; // RxDicomObject啊 郴何利栏肺 荤侩窍绰 image矫累困摹	int m_iDataType;	int m_iTI;	int m_iMA;	int m_iImageBeginIndex;	int m_iSeriesNo;	// test	int m_iLengthOfJPEGFile;	unsigned int m_iOffsetOfJPEGFile;	LPBYTE m_lpbyImageData;		unsigned short m_nBitsAllocated;	unsigned short m_nColumn;	unsigned short m_nRow;	unsigned short m_nSamplesPerPixel;	HANDLE m_hFile;	HANDLE m_hMap;	LPVOID m_lpvFile;	// jjchoi	LPCSTR m_pBuffer;	unsigned int m_iOffset;	BOOL m_bImagePosition;public:	BOOL ResetDicom();	RxDicomObject();	virtual ~RxDicomObject();	//BOOL LoadHeader(CString filename, BOOL bLoadImage = FALSE, unsigned char *pBufLoc = NULL, CRect rcROI = CRect(0, 0, 0, 0));	BOOL LoadHeader(CString filename, BOOL bLoadImage = FALSE, BOOL bSaveHeader = FALSE);	CString NormalizeDate(CString strTemp);	CString NormalizeTime(CString strTemp);	CString GetFolderName(int iType);	RxDicomObject operator=(const RxDicomObject& di);	void ClearTrailingWhiteSpace();	// by kyobum	void TrimLeftZero(CString *pstrText);	// Information retrieve function	BOOL GetDicomInfo(int iIndex, void* pValue, int* piType);	LPBYTE GetImageData() {return m_lpbyImageData;}	BOOL WriteDicomFile(CString strFilename, CString strName, CString strID);	int GetHeaderCount() { return m_iHeaderNo; };	DCM_ELEMENT* GetArpElement(int iElement) { return m_arpElement[iElement]; };protected:	unsigned int m_iFileLength;	void CloseFileHandle();	int SetDicom3(short iGroup, short iItem, int nLength, BOOL bLoadImage, BOOL bSaveHeader);	BOOL ReadJPG(CString strFilename);	BOOL DecodeJPGFileToGeneralBuffer(LPCSTR lpszPathName, DWORD* width, DWORD* height, DWORD* nchannels, BYTE** buffer, DWORD *buffersize);	BOOL FindStart();	int m_iHeaderNo;	DCM_ELEMENT *m_arpElement[1000];};#endif // !defined(_DICOMOBJECT_H_)

⌨️ 快捷键说明

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