/* * * Copyright (C) 2013-2015, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * This software and supporting documentation are maintained by * * OFFIS e.V. * R&D Division Health * Escherweg 2 * D-26121 Oldenburg, Germany * * * Module: dcmsr * * Author: Joerg Riesmeier * * Purpose: * classes: DSRImageSegmentList * */ #ifndef DSRIMGSE_H #define DSRIMGSE_H #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ #include "dcmtk/dcmsr/dsrtypes.h" #include "dcmtk/dcmsr/dsrtlist.h" /*---------------------* * class declaration * *---------------------*/ /** Class for image segment number list */ class DCMTK_DCMSR_EXPORT DSRImageSegmentList : public DSRListOfItems { public: /** default constructor */ DSRImageSegmentList(); /** copy constructor ** @param lst list to be copied */ DSRImageSegmentList(const DSRImageSegmentList &lst); /** destructor */ virtual ~DSRImageSegmentList(); /** assignment operator ** @param lst list to be copied ** @return reference to this list after 'lst' has been copied */ DSRImageSegmentList &operator=(const DSRImageSegmentList &lst); /** print list of referenced segment numbers. * The output of a typical list looks like this: 1,2,3 or 1,... if shortened. ** @param stream output stream to which the list should be printed * @param flags flag used to customize the output (see DSRTypes::PF_xxx) * @param separator character specifying the separator between the list items ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition print(STD_NAMESPACE ostream &stream, const size_t flags = 0, const char separator = ',') const; /** read list of referenced segment numbers ** @param dataset DICOM dataset from which the list should be read * @param flags flag used to customize the reading process (see DSRTypes::RF_xxx) ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition read(DcmItem &dataset, const size_t flags); /** write list of referenced segment numbers ** @param dataset DICOM dataset to which the list should be written ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition write(DcmItem &dataset) const; /** put list of referenced segment numbers as a string. * This function expects the same input format as created by print(), i.e. a comma * separated list of numerical values. ** @param stringValue string value to be set ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition putString(const char *stringValue); }; #endif