Mercurial > hg > orthanc-wsi
diff Framework/Inputs/PyramidWithRawTiles.cpp @ 167:605247fc8758
Fix issue #144 (OrthancWSIDicomizer PhotometricInterpretation)
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 12 Jul 2019 12:00:31 +0200 |
parents | 6b8ccfc02051 |
children | e3cbf890b588 |
line wrap: on
line diff
--- a/Framework/Inputs/PyramidWithRawTiles.cpp Fri Jul 12 09:06:54 2019 +0200 +++ b/Framework/Inputs/PyramidWithRawTiles.cpp Fri Jul 12 12:00:31 2019 +0200 @@ -22,10 +22,7 @@ #include "../PrecompiledHeadersWSI.h" #include "PyramidWithRawTiles.h" -#include <Core/Images/PngReader.h> -#include <Core/Images/JpegReader.h> -#include <Core/OrthancException.h> -#include "../Jpeg2000Reader.h" +#include "../ImageToolbox.h" namespace OrthancWSI { @@ -40,39 +37,13 @@ { return NULL; } - - std::auto_ptr<Orthanc::ImageAccessor> result; - - switch (compression) + else if (compression == ImageCompression_None) { - case ImageCompression_None: - result.reset(new Orthanc::ImageAccessor); - result->AssignReadOnly(GetPixelFormat(), - GetTileWidth(), - GetTileHeight(), - GetBytesPerPixel(GetPixelFormat()) * GetTileWidth(), - tile.c_str()); - break; - - case ImageCompression_Jpeg: - result.reset(new Orthanc::JpegReader); - dynamic_cast<Orthanc::JpegReader&>(*result).ReadFromMemory(tile); - break; - - case ImageCompression_Png: - result.reset(new Orthanc::PngReader); - dynamic_cast<Orthanc::PngReader&>(*result).ReadFromMemory(tile); - break; - - case ImageCompression_Jpeg2000: - result.reset(new Jpeg2000Reader); - dynamic_cast<Jpeg2000Reader&>(*result).ReadFromMemory(tile); - break; - - default: - throw Orthanc::OrthancException(Orthanc::ErrorCode_NotImplemented); + return ImageToolbox::DecodeRawTile(tile, GetPixelFormat(), GetTileWidth(), GetTileHeight()); } - - return result.release(); + else + { + return ImageToolbox::DecodeTile(tile, compression); + } } }