GDCM: gdcmMrProtocol.h Source File

GDCM 3.2.6

gdcmMrProtocol.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: GDCM (Grassroots DICOM). A DICOM library
4
5 Copyright (c) 2006-2011 Mathieu Malaterre
6 All rights reserved.
7 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
8
9 This software is distributed WITHOUT ANY WARRANTY; without even
10 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11 PURPOSE. See the above copyright notice for more information.
12
13=========================================================================*/
14#ifndef GDCMMRPROTOCOL_H
15#define GDCMMRPROTOCOL_H
16
17#include "gdcmTypes.h"
18#include "gdcmDataSet.h"
19
20namespace gdcm
21{
22class ByteValue;
23/*
24 * Everything done in this code is for the sole purpose of writing interoperable
25 * software under Sect. 1201 (f) Reverse Engineering exception of the DMCA.
26 * If you believe anything in this code violates any law or any of your rights,
27 * please contact us (gdcm-developers@lists.sourceforge.net) so that we can
28 * find a solution.
29 */
30//-----------------------------------------------------------------------------
31
32class DataElement;
36 class GDCM_EXPORT MrProtocol
37{
38 friend std::ostream& operator<<(std::ostream &_os, const MrProtocol &d);
39public :
40 MrProtocol();
41 ~MrProtocol();
42
43 bool Load( const ByteValue * bv, const char * str, int version );
44 void Print(std::ostream &os) const;
45
46 int GetVersion() const;
47
48 const char * GetMrProtocolByName(const char *name) const;
49
50 bool FindMrProtocolByName(const char *name) const;
51
52 struct Vector3
53 {
54 double dSag;
55 double dCor;
56 double dTra;
57 };
58 struct Slice
59 {
60 Vector3 Normal;
61 Vector3 Position;
62 };
63 struct SliceArray
64 {
65 std::vector< Slice > Slices;
66 };
67 bool GetSliceArray( MrProtocol::SliceArray & sa ) const;
68
69private:
70 struct Element;
71 struct Internals;
72 Internals *Pimpl;
73};
74//-----------------------------------------------------------------------------
75 inline std::ostream& operator<<(std::ostream &os, const MrProtocol &d)
76{
77 d.Print( os );
78 return os;
79}
80
81} // end namespace gdcm
82//-----------------------------------------------------------------------------
83#endif //GDCMMRPROTOCOL_H
gdcm::ByteValue
Class to represent binary value (array of bytes).
Definition gdcmByteValue.h:36
gdcm::DataElement
Class to represent a Data Element either Implicit or Explicit.
Definition gdcmDataElement.h:59
gdcm::Element
Element class.
Definition gdcmElement.h:70
gdcm::MrProtocol::operator<<
friend std::ostream & operator<<(std::ostream &_os, const MrProtocol &d)
Definition gdcmMrProtocol.h:75
gdcm::MrProtocol::GetVersion
int GetVersion() const
gdcm::MrProtocol::MrProtocol
MrProtocol()
gdcm::MrProtocol::FindMrProtocolByName
bool FindMrProtocolByName(const char *name) const
gdcm::MrProtocol::~MrProtocol
~MrProtocol()
gdcm::MrProtocol::GetSliceArray
bool GetSliceArray(MrProtocol::SliceArray &sa) const
gdcm::MrProtocol::Print
void Print(std::ostream &os) const
gdcm::MrProtocol::GetMrProtocolByName
const char * GetMrProtocolByName(const char *name) const
gdcm::MrProtocol::Load
bool Load(const ByteValue *bv, const char *str, int version)
gdcmDataSet.h
gdcmTypes.h
GDCM_EXPORT
#define GDCM_EXPORT
Definition gdcmWin32.h:34
gdcm
Definition gdcmASN1.h:21
gdcm::operator<<
std::ostream & operator<<(std::ostream &os, const Directory &d)
Definition gdcmDirectory.h:88
gdcm::MrProtocol::SliceArray
Definition gdcmMrProtocol.h:64
gdcm::MrProtocol::SliceArray::Slices
std::vector< Slice > Slices
Definition gdcmMrProtocol.h:65
gdcm::MrProtocol::Slice
Definition gdcmMrProtocol.h:59
gdcm::MrProtocol::Slice::Normal
Vector3 Normal
Definition gdcmMrProtocol.h:60
gdcm::MrProtocol::Slice::Position
Vector3 Position
Definition gdcmMrProtocol.h:61
gdcm::MrProtocol::Vector3
Definition gdcmMrProtocol.h:53
gdcm::MrProtocol::Vector3::dTra
double dTra
Definition gdcmMrProtocol.h:56
gdcm::MrProtocol::Vector3::dSag
double dSag
Definition gdcmMrProtocol.h:54
gdcm::MrProtocol::Vector3::dCor
double dCor
Definition gdcmMrProtocol.h:55