diff Framework/Layers/GrayscaleFrameRenderer.cpp @ 378:814fa32e2fcc

refactoring
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 06 Nov 2018 14:21:02 +0100
parents 557c8ff1db5c
children 17d54c028805
line wrap: on
line diff
--- a/Framework/Layers/GrayscaleFrameRenderer.cpp	Mon Nov 05 16:18:27 2018 +0100
+++ b/Framework/Layers/GrayscaleFrameRenderer.cpp	Tue Nov 06 14:21:02 2018 +0100
@@ -21,6 +21,7 @@
 
 #include "GrayscaleFrameRenderer.h"
 
+#include <Core/Images/Image.h>
 #include <Core/OrthancException.h>
 
 namespace OrthancStone
@@ -112,19 +113,19 @@
   }
 
 
-  GrayscaleFrameRenderer::GrayscaleFrameRenderer(Orthanc::ImageAccessor* frame,
+  GrayscaleFrameRenderer::GrayscaleFrameRenderer(const Orthanc::ImageAccessor& frame,
                                                  const DicomFrameConverter& converter,
                                                  const CoordinateSystem3D& frameSlice,
                                                  double pixelSpacingX,
                                                  double pixelSpacingY,
                                                  bool isFullQuality) :
     FrameRenderer(frameSlice, pixelSpacingX, pixelSpacingY, isFullQuality),
-    frame_(frame),
+    frame_(Orthanc::Image::Clone(frame)),
     defaultWindowCenter_(converter.GetDefaultWindowCenter()),
     defaultWindowWidth_(converter.GetDefaultWindowWidth()),
     photometric_(converter.GetPhotometricInterpretation())
   {
-    if (frame == NULL)
+    if (frame_.get() == NULL)
     {
       throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange);
     }