Mercurial > hg > orthanc
diff PalantirServer/PalantirRestApi.cpp @ 42:ea48f38afe5f
access to raw images
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 03 Sep 2012 11:34:00 +0200 |
parents | c1097a676eca |
children | 9be852ad33d2 |
line wrap: on
line diff
--- a/PalantirServer/PalantirRestApi.cpp Fri Aug 31 11:45:48 2012 +0200 +++ b/PalantirServer/PalantirRestApi.cpp Mon Sep 03 11:34:00 2012 +0200 @@ -568,7 +568,9 @@ else if (uri.size() == 3 && uri[0] == "instances" && - uri[2] == "preview") + (uri[2] == "preview" || + uri[2] == "image-uint8" || + uri[2] == "image-uint16")) { std::string uuid; existingResource = index_.GetDicomFile(uuid, uri[1]); @@ -579,7 +581,23 @@ storage_.ReadFile(dicomContent, uuid); try { - FromDcmtkBridge::ExtractPreviewImage(png, dicomContent); + if (uri[2] == "preview") + { + FromDcmtkBridge::ExtractPngImage(png, dicomContent, ImageExtractionMode_Preview); + } + else if (uri[2] == "image-uint8") + { + FromDcmtkBridge::ExtractPngImage(png, dicomContent, ImageExtractionMode_UInt8); + } + else if (uri[2] == "image-uint16") + { + FromDcmtkBridge::ExtractPngImage(png, dicomContent, ImageExtractionMode_UInt16); + } + else + { + throw PalantirException(ErrorCode_InternalError); + } + output.AnswerBufferWithContentType(png, "image/png"); return; }