Viewing file: gdcmCurve.h (2.56 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*=========================================================================
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 GDCMCURVE_H #define GDCMCURVE_H
#include "gdcmTypes.h" #include "gdcmObject.h"
#include <vector>
namespace gdcm {
class CurveInternal; class ByteValue; class DataSet; class DataElement; /** * \brief Curve class to handle element 50xx,3000 Curve Data * \details * WARNING: This is deprecated and lastly defined in PS 3.3 - 2004 * * Examples: * - GE_DLX-8-MONO2-Multiframe-Jpeg_Lossless.dcm * - GE_DLX-8-MONO2-Multiframe.dcm * - gdcmSampleData/Philips_Medical_Images/integris_HV_5000/xa_integris.dcm * - TOSHIBA-CurveData[1-3].dcm */ class GDCM_EXPORT Curve : public Object { public: Curve(); ~Curve() override; void Print(std::ostream &) const override;
void GetAsPoints(float *array) const;
static unsigned int GetNumberOfCurves(DataSet const & ds);
// Update curve data from dataelmenet de: void Update(const DataElement & de);
void SetGroup(unsigned short group); unsigned short GetGroup() const; void SetDimensions(unsigned short dimensions); unsigned short GetDimensions() const; void SetNumberOfPoints(unsigned short numberofpoints); unsigned short GetNumberOfPoints() const; void SetTypeOfData(const char *typeofdata); const char *GetTypeOfData() const; // See PS 3.3 - 2004 - C.10.2.1.1 Type of data const char *GetTypeOfDataDescription() const; void SetCurveDescription(const char *curvedescription); void SetDataValueRepresentation(unsigned short datavaluerepresentation); unsigned short GetDataValueRepresentation() const; void SetCurveDataDescriptor(const uint16_t * values, size_t num); std::vector<unsigned short> const &GetCurveDataDescriptor() const; void SetCoordinateStartValue( unsigned short v ); void SetCoordinateStepValue( unsigned short v );
void SetCurve(const char *array, unsigned int length);
bool IsEmpty() const;
void Decode(std::istream &is, std::ostream &os);
Curve(Curve const &ov); private: double ComputeValueFromStartAndStep(unsigned int idx) const; CurveInternal *Internal; };
} // end namespace gdcm
#endif //GDCMCURVE_H
|