|
@@ -62,7 +62,8 @@ ctkDICOMImagePrivate::~ctkDICOMImagePrivate()
|
|
|
|
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
//------------------------------------------------------------------------------
|
|
-ctkDICOMImage::ctkDICOMImage(DicomImage* dicomImage, QObject* parentValue): d_ptr(new ctkDICOMImagePrivate(*this))
|
|
|
|
|
|
+ctkDICOMImage::ctkDICOMImage(DicomImage* dicomImage, QObject* parentValue)
|
|
|
|
+ : d_ptr(new ctkDICOMImagePrivate(*this))
|
|
{
|
|
{
|
|
Q_UNUSED(parentValue);
|
|
Q_UNUSED(parentValue);
|
|
Q_D(ctkDICOMImage);
|
|
Q_D(ctkDICOMImage);
|
|
@@ -76,21 +77,26 @@ ctkDICOMImage::~ctkDICOMImage()
|
|
{
|
|
{
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+//------------------------------------------------------------------------------
|
|
unsigned long ctkDICOMImage::frameCount() const
|
|
unsigned long ctkDICOMImage::frameCount() const
|
|
{
|
|
{
|
|
Q_D(const ctkDICOMImage);
|
|
Q_D(const ctkDICOMImage);
|
|
if (d->DicomImage)
|
|
if (d->DicomImage)
|
|
- {
|
|
|
|
|
|
+ {
|
|
return d->DicomImage->getFrameCount();
|
|
return d->DicomImage->getFrameCount();
|
|
- }
|
|
|
|
|
|
+ }
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
-DicomImage* ctkDICOMImage::getDicomImage() const
|
|
|
|
|
|
+
|
|
|
|
+//------------------------------------------------------------------------------
|
|
|
|
+DicomImage* ctkDICOMImage::dicomImage() const
|
|
{
|
|
{
|
|
Q_D(const ctkDICOMImage);
|
|
Q_D(const ctkDICOMImage);
|
|
return d->DicomImage;
|
|
return d->DicomImage;
|
|
}
|
|
}
|
|
-QImage ctkDICOMImage::getImage(int frame) const
|
|
|
|
|
|
+
|
|
|
|
+//------------------------------------------------------------------------------
|
|
|
|
+QImage ctkDICOMImage::frame(int frame) const
|
|
{
|
|
{
|
|
Q_D(const ctkDICOMImage);
|
|
Q_D(const ctkDICOMImage);
|
|
|
|
|
|
@@ -98,7 +104,7 @@ QImage ctkDICOMImage::getImage(int frame) const
|
|
// the DCMTK forum, posted by Joerg Riesmayer, see http://forum.dcmtk.org/viewtopic.php?t=120
|
|
// the DCMTK forum, posted by Joerg Riesmayer, see http://forum.dcmtk.org/viewtopic.php?t=120
|
|
QImage image;
|
|
QImage image;
|
|
if ((d->DicomImage != NULL) && (d->DicomImage->getStatus() == EIS_Normal))
|
|
if ((d->DicomImage != NULL) && (d->DicomImage->getStatus() == EIS_Normal))
|
|
- {
|
|
|
|
|
|
+ {
|
|
/* get image extension */
|
|
/* get image extension */
|
|
const unsigned long width = d->DicomImage->getWidth();
|
|
const unsigned long width = d->DicomImage->getWidth();
|
|
const unsigned long height = d->DicomImage->getHeight();
|
|
const unsigned long height = d->DicomImage->getHeight();
|
|
@@ -113,13 +119,13 @@ QImage ctkDICOMImage::getImage(int frame) const
|
|
/* copy PGM header to buffer */
|
|
/* copy PGM header to buffer */
|
|
|
|
|
|
if (d->DicomImage->getOutputData(static_cast<void *>(buffer.data() + offset), length - offset, 8, frame))
|
|
if (d->DicomImage->getOutputData(static_cast<void *>(buffer.data() + offset), length - offset, 8, frame))
|
|
- {
|
|
|
|
|
|
+ {
|
|
|
|
|
|
if (!image.loadFromData( buffer ))
|
|
if (!image.loadFromData( buffer ))
|
|
- {
|
|
|
|
|
|
+ {
|
|
logger.error("QImage couldn't created");
|
|
logger.error("QImage couldn't created");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- }
|
|
|
|
return image;
|
|
return image;
|
|
}
|
|
}
|