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

📄 dcmimagepixelmodule.h

📁 DICOM专用的显示源代码,国外的一位高手写的 我贡献出来给大家学习学习
💻 H
字号:
// DcmImagePixelModule.h: interface for the CDcmImagePixelModule class.
//
//////////////////////////////////////////////////////////////////////
/* 
 * Permission is given by the author to freely redistribute and include
 * this code in any program.
 *
 * Copyright: (c) 2004, John Fitzgerald <dicomapi@yahoo.com>
 *
 * COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY
 * OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES
 * THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE
 * OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED
 * CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT
 * THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY
 * SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL
 * PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER
 * THIS DISCLAIMER.
 *
 * Use at your own risk!
 * ==========================================================
 */

#if !defined(AFX_DCMIMAGEPIXELMODULE_H__DD4C1CBC_1327_4F79_90C3_AD3358CA2B9B__INCLUDED_)
#define AFX_DCMIMAGEPIXELMODULE_H__DD4C1CBC_1327_4F79_90C3_AD3358CA2B9B__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


#include "DcmModule.h"
class CDcmTag;
class AFX_EXT_CLASS CDcmImagePixelModule : public CDcmModule  
{
public:
	DECLARE_SERIAL( CDcmImagePixelModule );
	CDcmImagePixelModule();
	virtual ~CDcmImagePixelModule();
public:
	void SamplesperPixel ( unsigned short Tag_0028_0002_1_US_VM_1 );
	const unsigned short& SamplesperPixel ( CDcmTag* tag = NULL );
public:
	CString& PhotoMetricInterpretation(CDcmTag* tag = NULL);
	void PhotoMetricInterpretation( const CString& Tag_0028_0004_1_CS_VM_1 );
public:
	void PlanarConfiguration ( unsigned short Tag_0028_0006_1C_US_VM_1  );
	const  unsigned short& PlanarConfiguration( CDcmTag* tag = NULL );
public:
	void Rows ( unsigned short Tag_0028_0010_1_US_VM_1  );
	const unsigned short& Rows (CDcmTag* tag = NULL );
public:
	void Columns ( unsigned short Tag_0028_0011_1_US_VM_1  );
	const unsigned short& Columns (CDcmTag* tag = NULL );
public:
	CStringArray& PixelAspectRatio(CDcmTag* tag = NULL);
	void PixelAspectRatio( const CStringArray& Tag_0028_0034_1C_IS_VM_2 );
public:
	void BitsAllocated ( unsigned short Tag_0028_0100_1_US_VM_1  );
	const unsigned short& BitsAllocated (CDcmTag* tag = NULL );
public:
	void BitsStored ( unsigned short Tag_0028_0101_1_US_VM_1  );
	const unsigned short& BitsStored (CDcmTag* tag = NULL );
public:
	void HighBit ( unsigned short Tag_0028_0102_1_US_VM_1  );
	const unsigned short& HighBit ( CDcmTag* tag = NULL);
public:
	void PixelRepresentation ( unsigned short Tag_0028_0103_1_US_VM_1  );
	const unsigned short& PixelRepresentation (CDcmTag* tag = NULL );
public:
	const unsigned short& SmallestImagePixelValue(CDcmTag* tag = NULL);
	void SmallestImagePixelValue( unsigned short Tag_0028_0106_3_US_VM_1 );
public:
	const unsigned short& LargestImagePixelValue(CDcmTag* tag = NULL);
	void LargestImagePixelValue( unsigned short Tag_0028_0107_3_US_VM_1 );
public:	
	CWordArray& RedLUTDescriptor( CDcmTag* tag = NULL );
	void RedLUTDescriptor( const CWordArray& Tag_0028_1101_1C_US_VM_3 );
public:
	CWordArray& GreenLUTDescriptor(CDcmTag* tag = NULL);
	void GreenLUTDescriptor ( const CWordArray& Tag_0028_1102_1C_US_VM_3 );
public:
	CWordArray& BlueLUTDescriptor(CDcmTag* tag = NULL);
	void BlueLUTDescriptor( const CWordArray& Tag_0028_1103_1C_US_VM_3 );
public:
	CWordArray& RedLUTData(CDcmTag* tag = NULL);
	void RedLUTData( const CWordArray& Tag_0028_1201_1C_OW_VM_1 );
public:
	CWordArray& GreenLUTData(CDcmTag* tag = NULL);
	void GreenLUTData( const CWordArray& Tag_0028_1202_1C_OW_VM_1 );
public:
	CWordArray& BlueLUTData( CDcmTag* tag = NULL);
	void BlueLUTData( const CWordArray& Tag_0028_1203_1C_OW_VM_1 );

public:
	void PixelData( CDcmTag* tag );
	void GetPixelData( CObList& PixelData );
	void SetPixelData( CObList& Tag_7FE0_0010_1C_OB_or_OW_VM_1 );
	void SetPixelData( const CByteArray& Tag_7FE0_0010_1C_OB_VM_1 );
	void SetPixelData( const CWordArray& Tag_7FE0_0010_1C_OW_VM_1 );
public:
	void Dcm16BitTo8Bit( const CByteArray& src, CByteArray& dst );
	void DcmColorLutDecode( const CByteArray& src, CByteArray& dst );
	void DcmRleDecode( const CByteArray& src, CByteArray& dst );
	void DcmRleEncode( CByteArray& src );
	void DcmSwapRgb( CByteArray& array,  int Height,  int Width );
private:
	void DcmGetRgbComponents(CByteArray& PixelData, CByteArray& Red, CByteArray& Green, CByteArray& Blue );
};



#endif // !defined(AFX_DCMIMAGEPIXELMODULE_H__DD4C1CBC_1327_4F79_90C3_AD3358CA2B9B__INCLUDED_)

⌨️ 快捷键说明

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