gdcmMrProtocol.h
Go to the documentation of this file.
/*=========================================================================
Program: GDCM (Grassroots DICOM). A DICOM library
Copyright (c) 2006-2011 Mathieu Malaterre
All rights reserved.
See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
#ifndef GDCMMRPROTOCOL_H
#define GDCMMRPROTOCOL_H
#include "gdcmTypes.h"
#include "gdcmDataSet.h"
namespace gdcm
{
class ByteValue;
/*
* Everything done in this code is for the sole purpose of writing interoperable
* software under Sect. 1201 (f) Reverse Engineering exception of the DMCA.
* If you believe anything in this code violates any law or any of your rights,
* please contact us (gdcm-developers@lists.sourceforge.net) so that we can
* find a solution.
*/
//-----------------------------------------------------------------------------
class DataElement;
class GDCM_EXPORT MrProtocol
{
friend std::ostream& operator<<(std::ostream &_os, const MrProtocol &d);
public :
MrProtocol();
~MrProtocol();
bool Load( const ByteValue * bv, const char * str, int version );
void Print(std::ostream &os) const;
int GetVersion() const;
const char * GetMrProtocolByName(const char *name) const;
bool FindMrProtocolByName(const char *name) const;
struct Vector3
{
double dSag;
double dCor;
double dTra;
};
struct Slice
{
Vector3 Normal;
Vector3 Position;
};
struct SliceArray
{
std::vector< Slice > Slices;
};
bool GetSliceArray( MrProtocol::SliceArray & sa ) const;
private:
struct Element;
struct Internals;
Internals *Pimpl;
};
//-----------------------------------------------------------------------------
inline std::ostream& operator<<(std::ostream &os, const MrProtocol &d)
{
d.Print( os );
return os;
}
} // end namespace gdcm
//-----------------------------------------------------------------------------
#endif //GDCMMRPROTOCOL_H
gdcm::ByteValue
Class to represent binary value (array of bytes).
Definition gdcmByteValue.h:35
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