Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
mitkDICOMweb.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkDICOMweb_h
14 #define mitkDICOMweb_h
15 
16 #include <MitkDICOMwebExports.h>
17 
18 #include "cpprest/asyncrt_utils.h"
19 #include "cpprest/http_client.h"
20 #include <iostream>
21 #include <mitkCommon.h>
22 #include <mitkIRESTManager.h>
23 #include <mitkRESTUtil.h>
24 
25 #include <usGetModuleContext.h>
26 #include <usModuleContext.h>
27 
36 namespace mitk
37 {
38 
39  class MITKDICOMWEB_EXPORT DICOMweb
40  {
41  public:
42  typedef web::http::uri_builder MitkUriBuilder;
43  typedef web::http::http_request MitkRequest;
44  typedef web::http::http_response MitkResponse;
45  typedef web::http::methods MitkRESTMethods;
46 
47  DICOMweb();
48 
55  DICOMweb(utility::string_t baseURI);
56 
64  pplx::task<void> SendSTOW(utility::string_t filePath, utility::string_t studyUID);
65 
76  pplx::task<void> SendWADO(utility::string_t filePath,
77  utility::string_t studyUID,
78  utility::string_t seriesUID,
79  utility::string_t instanceUID);
80 
90  pplx::task<std::string> SendWADO(utility::string_t folderPath,
91  utility::string_t studyUID,
92  utility::string_t seriesUID);
93 
106  pplx::task<web::json::value> SendQIDO(mitk::RESTUtil::ParamMap map);
107 
108  private:
112  utility::string_t CreateQIDOUri(mitk::RESTUtil::ParamMap map);
113 
117  utility::string_t CreateWADOUri(utility::string_t studyUID,
118  utility::string_t seriesUID,
119  utility::string_t instanceUID);
120 
124  utility::string_t CreateSTOWUri(utility::string_t studyUID);
125 
130  void InitializeRESTManager();
131 
132  utility::string_t m_BaseURI;
133  mitk::IRESTManager *m_RESTManager;
134  };
135 }
136 
137 #endif
mitk::IRESTManager
This is a microservice interface for managing REST requests.
Definition: mitkIRESTManager.h:34
mitk::RESTUtil::ParamMap
std::map< utility::string_t, utility::string_t > ParamMap
Definition: mitkRESTUtil.h:27
mitkIRESTManager.h
mitk::DICOMweb::MitkRequest
web::http::http_request MitkRequest
Definition: mitkDICOMweb.h:43
mitk
Find image slices visible on a given plane.
Definition: RenderingTests.dox:1
mitk::DICOMweb
Definition: mitkDICOMweb.h:39
mitk::DICOMweb::MitkResponse
web::http::http_response MitkResponse
Definition: mitkDICOMweb.h:44
mitkCommon.h
mitk::DICOMweb::MitkUriBuilder
web::http::uri_builder MitkUriBuilder
Definition: mitkDICOMweb.h:42
mitk::DICOMweb::MitkRESTMethods
web::http::methods MitkRESTMethods
Definition: mitkDICOMweb.h:45
mitkRESTUtil.h
map
Definition: mitkFastSymmetricForcesDemonsMultiResDefaultRegistrationAlgorithm_ProfileResource.h:26
usModuleContext.h
usGetModuleContext.h