
| Current Path : /usr/include/gdcm-3.0/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //usr/include/gdcm-3.0/gdcmMrProtocol.h |
/*=========================================================================
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;
/**
* \brief Class for MrProtocol
*/
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