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

📄 extractpixeldatadoc.h

📁 DICOM专用的显示源代码,国外的一位高手写的 我贡献出来给大家学习学习
💻 H
字号:
/* 
 * 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!
 * ==========================================================
 */


// ExtractPixelDataDoc.h : interface of the CExtractPixelDataDoc class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_EXTRACTPIXELDATADOC_H__C4FFB61F_8F51_40CA_AD44_27AB5845B467__INCLUDED_)
#define AFX_EXTRACTPIXELDATADOC_H__C4FFB61F_8F51_40CA_AD44_27AB5845B467__INCLUDED_

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

class CDcmImagePixelModule;
class CDcmMetaFileInformation;
class CDcmMultiFrameModule ;
class CDcmVioLutModule;
class CDcmModalityLUTModule;

class CExtractPixelDataDoc : public CDocument
{
protected: // create from serialization only
	CExtractPixelDataDoc();
	DECLARE_DYNCREATE(CExtractPixelDataDoc)

// Attributes
public:
//  All the modules required to read the pixel data of 
//	average Secondary Capture IOD
	CDcmImagePixelModule& m_ImagePixel;
	CDcmMetaFileInformation& m_MetaFile;
	CDcmMultiFrameModule& m_MultiFrame;
	CDcmVioLutModule& m_VioLut;
	CDcmModalityLUTModule& m_ModalityLut;
// Pixel Data has to processed if RLE compressed, 16 to 8 bit conversion, etc
	CObArray m_CookedPixelData;
	int m_BitsPerPixel, m_Width, m_Height;
// Jpeg images end up here uncompressed. We delegate decompression
//  services to OLE.
	CPtrArray m_jpegPixelData;
	int m_ImageIndex, m_CurrentIndex;
	CUIntArray m_SelectedImages;
	void SetIndexedTitle( int index );
// Syntax from iod object in case serialized file does not have intrinsic transfer syntax
	int m_IodSyntax;
	CStringArray m_ImagePixelAttributes, m_MetaFileAttributes, m_MultiFrameAttributes,
			m_VioLutAttributes, m_ModalityLutAttributes, m_FileAttributes;
    int m_anonymize_55;
	// Operations
public:
	LPPICTURE m_Picture;
	bool IsSelected( int index );
	void AddSelection( int index );
	void RemoveSelection( int index );
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CExtractPixelDataDoc)
	public:
	virtual BOOL OnNewDocument();
	virtual void Serialize(CArchive& ar);
	virtual BOOL OnOpenDocument(LPCTSTR lpszPathName);
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CExtractPixelDataDoc();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:
	void CreateDcmExportFile(const CString& docname, CStringArray& Attributes );
// Generated message map functions
protected:
	//{{AFX_MSG(CExtractPixelDataDoc)
	afx_msg void OnButtonBack();
	afx_msg void OnButtonForward();
	afx_msg void OnAttributesFileAttributes();
	afx_msg void OnAttributesImagePixelModule();
	afx_msg void OnAttributesMetaFileHeader();
	afx_msg void OnAttributesModalityLutModule();
	afx_msg void OnAttributesMultiFrameModule();
	afx_msg void OnAttributesVioLutModule();
	afx_msg void OnUpdateButtonBack(CCmdUI* pCmdUI);
	afx_msg void OnUpdateButtonForward(CCmdUI* pCmdUI);
	afx_msg void OnChooseImage();
	afx_msg void OnUpdateChooseImage(CCmdUI* pCmdUI);
	afx_msg void OnCreateSelDataset();
	afx_msg void OnUpdateCreateSelDataset(CCmdUI* pCmdUI);
	afx_msg void OnEmptyChoose();
	afx_msg void OnUpdateEmptyChoose(CCmdUI* pCmdUI);
	afx_msg void OnAttributeAnon55();
	afx_msg void OnUpdateAttributeAnon55(CCmdUI* pCmdUI);
	afx_msg void OnImportSelection();
	afx_msg void OnUpdateImportSelection(CCmdUI* pCmdUI);
	afx_msg void OnExportSel();
	afx_msg void OnUpdateExportSel(CCmdUI* pCmdUI);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_EXTRACTPIXELDATADOC_H__C4FFB61F_8F51_40CA_AD44_27AB5845B467__INCLUDED_)

⌨️ 快捷键说明

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