Mercurial > hg > orthanc
comparison OrthancServer/OrthancRestApi.cpp @ 285:4031f73fe0e4
access to the raw dicom tags
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 12 Dec 2012 17:53:14 +0100 |
parents | 337c506461d2 |
children | 4d7469f72a0b |
comparison
equal
deleted
inserted
replaced
284:06aa7b7b6723 | 285:4031f73fe0e4 |
---|---|
845 } | 845 } |
846 } | 846 } |
847 | 847 |
848 | 848 |
849 | 849 |
850 // Raw access to the DICOM tags of an instance ------------------------------ | |
851 | |
852 static void GetRawContent(RestApi::GetCall& call) | |
853 { | |
854 // TODO IMPROVE MULTITHREADING | |
855 static boost::mutex mutex_; | |
856 boost::mutex::scoped_lock lock(mutex_); | |
857 | |
858 RETRIEVE_CONTEXT(call); | |
859 std::string id = call.GetUriComponent("id", ""); | |
860 ParsedDicomFile& dicom = context.GetDicomFile(id); | |
861 dicom.SendPathValue(call.GetOutput(), call.GetTrailingUri()); | |
862 } | |
863 | |
864 | |
865 | |
866 | |
850 // Registration of the various REST handlers -------------------------------- | 867 // Registration of the various REST handlers -------------------------------- |
851 | 868 |
852 OrthancRestApi::OrthancRestApi(ServerContext& context) : | 869 OrthancRestApi::OrthancRestApi(ServerContext& context) : |
853 context_(context) | 870 context_(context) |
854 { | 871 { |
883 Register("/patients/{id}/protected", SetPatientProtection); | 900 Register("/patients/{id}/protected", SetPatientProtection); |
884 Register("/instances/{id}/file", GetInstanceFile); | 901 Register("/instances/{id}/file", GetInstanceFile); |
885 Register("/instances/{id}/tags", GetInstanceTags<false>); | 902 Register("/instances/{id}/tags", GetInstanceTags<false>); |
886 Register("/instances/{id}/simplified-tags", GetInstanceTags<true>); | 903 Register("/instances/{id}/simplified-tags", GetInstanceTags<true>); |
887 Register("/instances/{id}/frames", ListFrames); | 904 Register("/instances/{id}/frames", ListFrames); |
905 Register("/instances/{id}/content/*", GetRawContent); | |
888 | 906 |
889 Register("/instances/{id}/frames/{frame}/preview", GetImage<ImageExtractionMode_Preview>); | 907 Register("/instances/{id}/frames/{frame}/preview", GetImage<ImageExtractionMode_Preview>); |
890 Register("/instances/{id}/frames/{frame}/image-uint8", GetImage<ImageExtractionMode_UInt8>); | 908 Register("/instances/{id}/frames/{frame}/image-uint8", GetImage<ImageExtractionMode_UInt8>); |
891 Register("/instances/{id}/frames/{frame}/image-uint16", GetImage<ImageExtractionMode_UInt16>); | 909 Register("/instances/{id}/frames/{frame}/image-uint16", GetImage<ImageExtractionMode_UInt16>); |
892 Register("/instances/{id}/preview", GetImage<ImageExtractionMode_Preview>); | 910 Register("/instances/{id}/preview", GetImage<ImageExtractionMode_Preview>); |