Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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