gdcmSegment.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 GDCMSEGMENT_H
#define GDCMSEGMENT_H
#include <vector>
#include <gdcmObject.h>
#include <gdcmSurface.h>
#include "gdcmSegmentHelper.h"
namespace gdcm
{
class GDCM_EXPORT Segment : public Object
{
public:
typedef std::vector< SmartPointer< Surface > > SurfaceVector;
typedef std::vector< SegmentHelper::BasicCodedEntry > BasicCodedEntryVector;
typedef enum {
AUTOMATIC = 0,
SEMIAUTOMATIC,
MANUAL,
ALGOType_END
} ALGOType;
static const char * GetALGOTypeString(ALGOType type);
static ALGOType GetALGOType(const char * type);
Segment();
~Segment() override;
//** Segment getters/setters **//
unsigned short GetSegmentNumber() const;
void SetSegmentNumber(const unsigned short num);
const char * GetSegmentLabel() const;
void SetSegmentLabel(const char * label);
const char * GetSegmentDescription() const;
void SetSegmentDescription(const char * description);
SegmentHelper::BasicCodedEntry const & GetAnatomicRegion() const;
SegmentHelper::BasicCodedEntry & GetAnatomicRegion();
void SetAnatomicRegion(SegmentHelper::BasicCodedEntry const & BSE);
BasicCodedEntryVector const & GetAnatomicRegionModifiers() const;
BasicCodedEntryVector & GetAnatomicRegionModifiers();
void SetAnatomicRegionModifiers(BasicCodedEntryVector const & BSEV);
SegmentHelper::BasicCodedEntry const & GetPropertyCategory() const;
SegmentHelper::BasicCodedEntry & GetPropertyCategory();
void SetPropertyCategory(SegmentHelper::BasicCodedEntry const & BSE);
SegmentHelper::BasicCodedEntry const & GetPropertyType() const;
SegmentHelper::BasicCodedEntry & GetPropertyType();
void SetPropertyType(SegmentHelper::BasicCodedEntry const & BSE);
BasicCodedEntryVector const & GetPropertyTypeModifiers() const;
BasicCodedEntryVector & GetPropertyTypeModifiers();
void SetPropertyTypeModifiers(BasicCodedEntryVector const & BSEV);
ALGOType GetSegmentAlgorithmType() const;
void SetSegmentAlgorithmType(ALGOType type);
void SetSegmentAlgorithmType(const char * typeStr);
const char * GetSegmentAlgorithmName() const;
void SetSegmentAlgorithmName(const char * name);
//** Surface getters/setters **//
unsigned long GetSurfaceCount();
void SetSurfaceCount(const unsigned long nb);
SurfaceVector const & GetSurfaces() const;
SurfaceVector & GetSurfaces();
SmartPointer< Surface > GetSurface(const unsigned int idx = 0) const;
void AddSurface(SmartPointer< Surface > surface);
protected :
//** Segment members **//
//0062 0004 US 1 Segment Number
unsigned short SegmentNumber;
//0062 0005 LO 1 Segment Label
std::string SegmentLabel;
//0062 0006 ST 1 Segment Description
std::string SegmentDescription;
// General Anatomic Region
SegmentHelper::BasicCodedEntry AnatomicRegion;
// General Anatomic Region Modifier
BasicCodedEntryVector AnatomicRegionModifiers;
// Property Category Code
SegmentHelper::BasicCodedEntry PropertyCategory;
// Property Type Code
SegmentHelper::BasicCodedEntry PropertyType;
// Property Type Modifier Code
BasicCodedEntryVector PropertyTypeModifiers;
//0062 0008 CS 1 Segment Algorithm Type
ALGOType SegmentAlgorithmType;
//0062 0009 LO 1 Segment Algorithm Name
std::string SegmentAlgorithmName;
//** Surface members **//
//0066 002a UL 1 Surface Count
unsigned long SurfaceCount;
SurfaceVector Surfaces;
private :
void ComputeSurfaceCount();
};
}
#endif // GDCMSEGMENT_H
gdcm::Object::Object
Object()
Definition gdcmObject.h:42
gdcm::Object::SmartPointer
friend class SmartPointer
Definition gdcmObject.h:38
gdcm::Segment::GetPropertyTypeModifiers
BasicCodedEntryVector & GetPropertyTypeModifiers()
gdcm::Segment::GetSegmentNumber
unsigned short GetSegmentNumber() const
gdcm::Segment::SetSegmentAlgorithmName
void SetSegmentAlgorithmName(const char *name)
gdcm::Segment::PropertyCategory
SegmentHelper::BasicCodedEntry PropertyCategory
Definition gdcmSegment.h:117
gdcm::Segment::GetSegmentDescription
const char * GetSegmentDescription() const
gdcm::Segment::PropertyType
SegmentHelper::BasicCodedEntry PropertyType
Definition gdcmSegment.h:119
gdcm::Segment::SegmentDescription
std::string SegmentDescription
Definition gdcmSegment.h:110
gdcm::Segment::GetALGOTypeString
static const char * GetALGOTypeString(ALGOType type)
gdcm::Segment::GetAnatomicRegion
SegmentHelper::BasicCodedEntry & GetAnatomicRegion()
gdcm::Segment::SetSegmentAlgorithmType
void SetSegmentAlgorithmType(ALGOType type)
gdcm::Segment::Surfaces
SurfaceVector Surfaces
Definition gdcmSegment.h:132
gdcm::Segment::SegmentAlgorithmName
std::string SegmentAlgorithmName
Definition gdcmSegment.h:126
gdcm::Segment::GetSegmentAlgorithmName
const char * GetSegmentAlgorithmName() const
gdcm::Segment::GetPropertyType
SegmentHelper::BasicCodedEntry & GetPropertyType()
gdcm::Segment::SetSegmentLabel
void SetSegmentLabel(const char *label)
gdcm::Segment::AnatomicRegionModifiers
BasicCodedEntryVector AnatomicRegionModifiers
Definition gdcmSegment.h:115
gdcm::Segment::AddSurface
void AddSurface(SmartPointer< Surface > surface)
gdcm::Segment::AnatomicRegion
SegmentHelper::BasicCodedEntry AnatomicRegion
Definition gdcmSegment.h:113
gdcm::Segment::SetSegmentDescription
void SetSegmentDescription(const char *description)
gdcm::Segment::GetSegmentAlgorithmType
ALGOType GetSegmentAlgorithmType() const
gdcm::Segment::GetSurfaces
SurfaceVector & GetSurfaces()
gdcm::Segment::GetPropertyCategory
SegmentHelper::BasicCodedEntry const & GetPropertyCategory() const
gdcm::Segment::SetSegmentNumber
void SetSegmentNumber(const unsigned short num)
gdcm::Segment::GetAnatomicRegionModifiers
BasicCodedEntryVector const & GetAnatomicRegionModifiers() const
gdcm::Segment::Segment
Segment()
gdcm::Segment::GetPropertyTypeModifiers
BasicCodedEntryVector const & GetPropertyTypeModifiers() const
gdcm::Segment::SegmentNumber
unsigned short SegmentNumber
Definition gdcmSegment.h:106
gdcm::Segment::GetSurfaces
SurfaceVector const & GetSurfaces() const
gdcm::Segment::~Segment
~Segment() override
gdcm::Segment::SetPropertyTypeModifiers
void SetPropertyTypeModifiers(BasicCodedEntryVector const &BSEV)
gdcm::Segment::SetSurfaceCount
void SetSurfaceCount(const unsigned long nb)
gdcm::Segment::GetAnatomicRegion
SegmentHelper::BasicCodedEntry const & GetAnatomicRegion() const
gdcm::Segment::SegmentAlgorithmType
ALGOType SegmentAlgorithmType
Definition gdcmSegment.h:124
gdcm::Segment::SegmentLabel
std::string SegmentLabel
Definition gdcmSegment.h:108
gdcm::Segment::GetPropertyCategory
SegmentHelper::BasicCodedEntry & GetPropertyCategory()
gdcm::Segment::PropertyTypeModifiers
BasicCodedEntryVector PropertyTypeModifiers
Definition gdcmSegment.h:121
gdcm::Segment::SurfaceVector
std::vector< SmartPointer< Surface > > SurfaceVector
Definition gdcmSegment.h:37
gdcm::Segment::GetPropertyType
SegmentHelper::BasicCodedEntry const & GetPropertyType() const
gdcm::Segment::SetAnatomicRegionModifiers
void SetAnatomicRegionModifiers(BasicCodedEntryVector const &BSEV)
gdcm::Segment::GetSurface
SmartPointer< Surface > GetSurface(const unsigned int idx=0) const
gdcm::Segment::SurfaceCount
unsigned long SurfaceCount
Definition gdcmSegment.h:130
gdcm::Segment::SetPropertyCategory
void SetPropertyCategory(SegmentHelper::BasicCodedEntry const &BSE)
gdcm::Segment::SetSegmentAlgorithmType
void SetSegmentAlgorithmType(const char *typeStr)
gdcm::Segment::GetAnatomicRegionModifiers
BasicCodedEntryVector & GetAnatomicRegionModifiers()
gdcm::Segment::SetAnatomicRegion
void SetAnatomicRegion(SegmentHelper::BasicCodedEntry const &BSE)
gdcm::Segment::BasicCodedEntryVector
std::vector< SegmentHelper::BasicCodedEntry > BasicCodedEntryVector
Definition gdcmSegment.h:38
gdcm::Segment::SetPropertyType
void SetPropertyType(SegmentHelper::BasicCodedEntry const &BSE)
gdcm::Segment::GetSegmentLabel
const char * GetSegmentLabel() const
gdcm::Segment::ALGOType
ALGOType
Definition gdcmSegment.h:40
gdcm::Segment::SEMIAUTOMATIC
@ SEMIAUTOMATIC
Definition gdcmSegment.h:42
gdcm::Segment::AUTOMATIC
@ AUTOMATIC
Definition gdcmSegment.h:41
gdcm::Segment::MANUAL
@ MANUAL
Definition gdcmSegment.h:43
gdcm::Segment::ALGOType_END
@ ALGOType_END
Definition gdcmSegment.h:44
gdcm::Segment::GetSurfaceCount
unsigned long GetSurfaceCount()
gdcm::Segment::GetALGOType
static ALGOType GetALGOType(const char *type)
gdcmObject.h
gdcmSegmentHelper.h
gdcmSurface.h
GDCM_EXPORT
#define GDCM_EXPORT
Definition gdcmWin32.h:34
gdcm
Definition gdcmASN1.h:21
gdcm::SegmentHelper::BasicCodedEntry
This structure defines a basic coded entry with all of its attributes.
Definition gdcmSegmentHelper.h:33