Mercurial > hg > orthanc
diff OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp @ 1120:009dce4ea2f6
/tools/create-dicom now accepts PatientID
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 03 Sep 2014 16:49:26 +0200 |
parents | 160dfe770618 |
children | 8dabdc0d3007 |
line wrap: on
line diff
--- a/OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp Wed Sep 03 14:08:15 2014 +0200 +++ b/OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp Wed Sep 03 16:49:26 2014 +0200 @@ -34,6 +34,7 @@ #include "OrthancRestApi.h" #include "../FromDcmtkBridge.h" +#include "../../Core/Uuid.h" #include <glog/logging.h> @@ -424,7 +425,7 @@ } - static void Create(RestApiPostCall& call) + static void CreateDicom(RestApiPostCall& call) { // curl http://localhost:8042/tools/create-dicom -X POST -d '{"PatientName":"Hello^World"}' // curl http://localhost:8042/tools/create-dicom -X POST -d '{"PatientName":"Hello^World","PixelData":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gUGDDcB53FulQAAAElJREFUGNNtj0sSAEEEQ1+U+185s1CtmRkblQ9CZldsKHJDk6DLGLJa6chjh0ooQmpjXMM86zPwydGEj6Ed/UGykkEM8X+p3u8/8LcOJIWLGeMAAAAASUVORK5CYII="}' @@ -433,8 +434,15 @@ if (call.ParseJsonRequest(request) && request.isObject()) { DicomModification modification; + modification.SetLevel(ResourceType_Patient); ParseReplacements(modification, request); + // If no PatientID is specified, create a random one + if (!modification.IsReplaced(DICOM_TAG_PATIENT_ID)) + { + modification.Replace(DICOM_TAG_PATIENT_ID, Toolbox::GenerateUuid()); + } + ParsedDicomFile dicom; if (modification.IsReplaced(DICOM_TAG_PIXEL_DATA)) @@ -474,6 +482,6 @@ Register("/studies/{id}/anonymize", AnonymizeResource<ChangeType_ModifiedStudy, ResourceType_Study>); Register("/patients/{id}/anonymize", AnonymizeResource<ChangeType_ModifiedPatient, ResourceType_Patient>); - Register("/tools/create-dicom", Create); + Register("/tools/create-dicom", CreateDicom); } }