23 #ifndef __mlDcmDRTRTReferencedSeriesSequenceInterface_H
24 #define __mlDcmDRTRTReferencedSeriesSequenceInterface_H
35 #ifndef __mlModuleIncludes_H
52 Item() { _dcmItem = DcmtkAccessories::createNewDicomTree(); }
56 Item(
const Item ©DcmItem) : _dcmItem(copyDcmItem.getTreePtr()) {}
64 bool isValid()
const {
return _dcmItem.get() !=
nullptr; }
90 for(
size_t i=0; i < treePtrSeq.size(); i++)
112 void setSequence(std::vector<DcmDRTRTReferencedSeriesSequenceInterface::Item> dcmSequence) {
113 _itemVec = dcmSequence;
118 std::vector<DcmDRTRTReferencedSeriesSequenceInterface::Item>
getSequence()
const {
125 return (_itemVec.size() != 0);
131 return static_cast<MLint>(_itemVec.size());
137 if (_itemVec.size() > idx) {
138 return _itemVec[idx];
147 return _itemVec[_itemVec.size()-1];
151 _itemVec.push_back(newItem);
157 if (_itemVec.size() > idx) {
158 std::vector<DcmDRTRTReferencedSeriesSequenceInterface::Item>::iterator it = _itemVec.begin();
159 std::advance(it, idx);
169 if ( _itemVec.size() > idx ) {
170 std::vector<DcmDRTRTReferencedSeriesSequenceInterface::Item>::iterator it = _itemVec.begin();
171 std::advance(it, idx);
180 std::vector<DcmDRTRTReferencedSeriesSequenceInterface::Item>
_itemVec;
#define MLDCMTKACCESSORIES_EXPORT
Class to provide access to DRTContourImageSequence.
void setContourImageSequence(DcmDRTContourImageSequenceInterface seq)
bool setSeriesInstanceUID(std::string parameter)
std::string getSeriesInstanceUIDTag() const
DcmDRTContourImageSequenceInterface getContourImageSequence() const
std::string getContourImageSequenceTag() const
Item(DCMTree::TreePtr dcmItem)
Item(const Item ©DcmItem)
bool getSeriesInstanceUID(std::string ¶meter) const
Item & operator=(const Item ©DcmItem)
DCMTree::TreePtr getTreePtr() const
Class to provide access to DRTRTReferencedSeriesSequence.
void setSequence(std::vector< DcmDRTRTReferencedSeriesSequenceInterface::Item > dcmSequence)
Set the DRTRTReferencedSeriesSequence this interface class provides access to.
DcmDRTRTReferencedSeriesSequenceInterface(DCMTree::TreePtrVector treePtrSeq)
std::vector< DcmDRTRTReferencedSeriesSequenceInterface::Item > getSequence() const
Return the DRTRTReferencedSeriesSequence this interface class provides access to.
bool insertItem(const size_t idx)
Insert an item at the indicated position.
bool removeItem(const size_t idx)
Removes the indicated item from the sequence.
DcmDRTRTReferencedSeriesSequenceInterface::Item getItem(const size_t idx) const
Gets the item at the indicated position.
virtual ~DcmDRTRTReferencedSeriesSequenceInterface()
Default virtual Destructor.
void addItem(DcmDRTRTReferencedSeriesSequenceInterface::Item newItem)
bool setSeriesInstanceUID(unsigned long idx, std::string parameter)
std::string getSeriesInstanceUIDTag() const
bool getSeriesInstanceUID(unsigned long idx, std::string ¶meter) const
std::string getContourImageSequenceTag() const
DcmDRTRTReferencedSeriesSequenceInterface()
bool hasSequence() const
Check if the DRTRTReferencedSeriesSequence is set.
MLint getNumberOfItems() const
Return number of items the internal sequence consists of.
DcmDRTContourImageSequenceInterface getContourImageSequence(unsigned long idx) const
bool getSeriesInstanceUID(DCMTree::TreePtr item, std::string ¶meter) const
std::vector< DcmDRTRTReferencedSeriesSequenceInterface::Item > _itemVec
Reference to the wrapped DICOM tree pointer vector.
void setContourImageSequence(DcmDRTContourImageSequenceInterface seq, unsigned long idx)
DcmDRTRTReferencedSeriesSequenceInterface::Item & addItem()
Adds a new item to the sequence.
DcmDRTRTReferencedSeriesSequenceInterface(std::vector< DcmDRTRTReferencedSeriesSequenceInterface::Item > dcmSequence)
Default Constructor.
Class to provide access to DRTContourImageSequence.
Class collecting some DICOM helper functionality explicitly for dcmtk.
MLint64 MLint
A signed ML integer type with at least 64 bits used for index calculations on very large images even ...
std::vector< TreePtr > TreePtrVector
a vector of TreePtr - used for sequences
boost::shared_ptr< Tree > TreePtr
shared pointer to a DCMTree::Tree