📄 extractpixeldatadoc.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 + -