Mercurial > hg > orthanc
comparison 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 |
comparison
equal
deleted
inserted
replaced
1119:af8628ea91b3 | 1120:009dce4ea2f6 |
---|---|
32 | 32 |
33 #include "../PrecompiledHeadersServer.h" | 33 #include "../PrecompiledHeadersServer.h" |
34 #include "OrthancRestApi.h" | 34 #include "OrthancRestApi.h" |
35 | 35 |
36 #include "../FromDcmtkBridge.h" | 36 #include "../FromDcmtkBridge.h" |
37 #include "../../Core/Uuid.h" | |
37 | 38 |
38 #include <glog/logging.h> | 39 #include <glog/logging.h> |
39 | 40 |
40 namespace Orthanc | 41 namespace Orthanc |
41 { | 42 { |
422 changeType, resourceType, call); | 423 changeType, resourceType, call); |
423 } | 424 } |
424 } | 425 } |
425 | 426 |
426 | 427 |
427 static void Create(RestApiPostCall& call) | 428 static void CreateDicom(RestApiPostCall& call) |
428 { | 429 { |
429 // curl http://localhost:8042/tools/create-dicom -X POST -d '{"PatientName":"Hello^World"}' | 430 // curl http://localhost:8042/tools/create-dicom -X POST -d '{"PatientName":"Hello^World"}' |
430 // curl http://localhost:8042/tools/create-dicom -X POST -d '{"PatientName":"Hello^World","PixelData":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gUGDDcB53FulQAAAElJREFUGNNtj0sSAEEEQ1+U+185s1CtmRkblQ9CZldsKHJDk6DLGLJa6chjh0ooQmpjXMM86zPwydGEj6Ed/UGykkEM8X+p3u8/8LcOJIWLGeMAAAAASUVORK5CYII="}' | 431 // curl http://localhost:8042/tools/create-dicom -X POST -d '{"PatientName":"Hello^World","PixelData":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gUGDDcB53FulQAAAElJREFUGNNtj0sSAEEEQ1+U+185s1CtmRkblQ9CZldsKHJDk6DLGLJa6chjh0ooQmpjXMM86zPwydGEj6Ed/UGykkEM8X+p3u8/8LcOJIWLGeMAAAAASUVORK5CYII="}' |
431 | 432 |
432 Json::Value request; | 433 Json::Value request; |
433 if (call.ParseJsonRequest(request) && request.isObject()) | 434 if (call.ParseJsonRequest(request) && request.isObject()) |
434 { | 435 { |
435 DicomModification modification; | 436 DicomModification modification; |
437 modification.SetLevel(ResourceType_Patient); | |
436 ParseReplacements(modification, request); | 438 ParseReplacements(modification, request); |
439 | |
440 // If no PatientID is specified, create a random one | |
441 if (!modification.IsReplaced(DICOM_TAG_PATIENT_ID)) | |
442 { | |
443 modification.Replace(DICOM_TAG_PATIENT_ID, Toolbox::GenerateUuid()); | |
444 } | |
437 | 445 |
438 ParsedDicomFile dicom; | 446 ParsedDicomFile dicom; |
439 | 447 |
440 if (modification.IsReplaced(DICOM_TAG_PIXEL_DATA)) | 448 if (modification.IsReplaced(DICOM_TAG_PIXEL_DATA)) |
441 { | 449 { |
472 Register("/instances/{id}/anonymize", AnonymizeInstance); | 480 Register("/instances/{id}/anonymize", AnonymizeInstance); |
473 Register("/series/{id}/anonymize", AnonymizeResource<ChangeType_ModifiedSeries, ResourceType_Series>); | 481 Register("/series/{id}/anonymize", AnonymizeResource<ChangeType_ModifiedSeries, ResourceType_Series>); |
474 Register("/studies/{id}/anonymize", AnonymizeResource<ChangeType_ModifiedStudy, ResourceType_Study>); | 482 Register("/studies/{id}/anonymize", AnonymizeResource<ChangeType_ModifiedStudy, ResourceType_Study>); |
475 Register("/patients/{id}/anonymize", AnonymizeResource<ChangeType_ModifiedPatient, ResourceType_Patient>); | 483 Register("/patients/{id}/anonymize", AnonymizeResource<ChangeType_ModifiedPatient, ResourceType_Patient>); |
476 | 484 |
477 Register("/tools/create-dicom", Create); | 485 Register("/tools/create-dicom", CreateDicom); |
478 } | 486 } |
479 } | 487 } |