110 #define ORTHANC_PLUGINS_API __declspec(dllexport)
112 #define ORTHANC_PLUGINS_API
115 #define ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER 0
116 #define ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER 9
117 #define ORTHANC_PLUGINS_MINIMAL_REVISION_NUMBER 5
135 #ifndef ORTHANC_PLUGIN_INLINE
136 # if __STDC_VERSION__ >= 199901L
138 # define ORTHANC_PLUGIN_INLINE static inline
139 # elif defined(__cplusplus)
141 # define ORTHANC_PLUGIN_INLINE static inline
142 # elif defined(__GNUC__)
144 # define ORTHANC_PLUGIN_INLINE static __inline
145 # elif defined(_MSC_VER)
147 # define ORTHANC_PLUGIN_INLINE static __inline
149 # error Your compiler is not known to support the "inline" keyword
281 _OrthancPluginErrorCode_INTERNAL = 0x7fffffff
289 ORTHANC_PLUGINS_API
const char* OrthancPluginGetName();
302 _OrthancPluginHttpMethod_INTERNAL = 0x7fffffff
378 _OrthancPluginService_LogInfo = 1,
379 _OrthancPluginService_LogWarning = 2,
380 _OrthancPluginService_LogError = 3,
381 _OrthancPluginService_GetOrthancPath = 4,
382 _OrthancPluginService_GetOrthancDirectory = 5,
383 _OrthancPluginService_GetConfigurationPath = 6,
384 _OrthancPluginService_SetPluginProperty = 7,
385 _OrthancPluginService_GetGlobalProperty = 8,
386 _OrthancPluginService_SetGlobalProperty = 9,
387 _OrthancPluginService_GetCommandLineArgumentsCount = 10,
388 _OrthancPluginService_GetCommandLineArgument = 11,
389 _OrthancPluginService_GetExpectedDatabaseVersion = 12,
390 _OrthancPluginService_GetConfiguration = 13,
391 _OrthancPluginService_BufferCompression = 14,
392 _OrthancPluginService_ReadFile = 15,
393 _OrthancPluginService_WriteFile = 16,
394 _OrthancPluginService_GetErrorDescription = 17,
395 _OrthancPluginService_CallHttpClient = 18,
396 _OrthancPluginService_RegisterErrorCode = 19,
397 _OrthancPluginService_RegisterDictionaryTag = 20,
398 _OrthancPluginService_DicomBufferToJson = 21,
399 _OrthancPluginService_DicomInstanceToJson = 22,
400 _OrthancPluginService_CreateDicom = 23,
401 _OrthancPluginService_ComputeMd5 = 24,
402 _OrthancPluginService_ComputeSha1 = 25,
403 _OrthancPluginService_LookupDictionary = 26,
406 _OrthancPluginService_RegisterRestCallback = 1000,
407 _OrthancPluginService_RegisterOnStoredInstanceCallback = 1001,
408 _OrthancPluginService_RegisterStorageArea = 1002,
409 _OrthancPluginService_RegisterOnChangeCallback = 1003,
410 _OrthancPluginService_RegisterRestCallbackNoLock = 1004,
411 _OrthancPluginService_RegisterWorklistCallback = 1005,
412 _OrthancPluginService_RegisterDecodeImageCallback = 1006,
415 _OrthancPluginService_AnswerBuffer = 2000,
416 _OrthancPluginService_CompressAndAnswerPngImage = 2001,
417 _OrthancPluginService_Redirect = 2002,
418 _OrthancPluginService_SendHttpStatusCode = 2003,
419 _OrthancPluginService_SendUnauthorized = 2004,
420 _OrthancPluginService_SendMethodNotAllowed = 2005,
421 _OrthancPluginService_SetCookie = 2006,
422 _OrthancPluginService_SetHttpHeader = 2007,
423 _OrthancPluginService_StartMultipartAnswer = 2008,
424 _OrthancPluginService_SendMultipartItem = 2009,
425 _OrthancPluginService_SendHttpStatus = 2010,
426 _OrthancPluginService_CompressAndAnswerImage = 2011,
429 _OrthancPluginService_GetDicomForInstance = 3000,
430 _OrthancPluginService_RestApiGet = 3001,
431 _OrthancPluginService_RestApiPost = 3002,
432 _OrthancPluginService_RestApiDelete = 3003,
433 _OrthancPluginService_RestApiPut = 3004,
434 _OrthancPluginService_LookupPatient = 3005,
435 _OrthancPluginService_LookupStudy = 3006,
436 _OrthancPluginService_LookupSeries = 3007,
437 _OrthancPluginService_LookupInstance = 3008,
438 _OrthancPluginService_LookupStudyWithAccessionNumber = 3009,
439 _OrthancPluginService_RestApiGetAfterPlugins = 3010,
440 _OrthancPluginService_RestApiPostAfterPlugins = 3011,
441 _OrthancPluginService_RestApiDeleteAfterPlugins = 3012,
442 _OrthancPluginService_RestApiPutAfterPlugins = 3013,
443 _OrthancPluginService_ReconstructMainDicomTags = 3014,
444 _OrthancPluginService_RestApiGet2 = 3015,
447 _OrthancPluginService_GetInstanceRemoteAet = 4000,
448 _OrthancPluginService_GetInstanceSize = 4001,
449 _OrthancPluginService_GetInstanceData = 4002,
450 _OrthancPluginService_GetInstanceJson = 4003,
451 _OrthancPluginService_GetInstanceSimplifiedJson = 4004,
452 _OrthancPluginService_HasInstanceMetadata = 4005,
453 _OrthancPluginService_GetInstanceMetadata = 4006,
454 _OrthancPluginService_GetInstanceOrigin = 4007,
457 _OrthancPluginService_RegisterDatabaseBackend = 5000,
458 _OrthancPluginService_DatabaseAnswer = 5001,
459 _OrthancPluginService_RegisterDatabaseBackendV2 = 5002,
460 _OrthancPluginService_StorageAreaCreate = 5003,
461 _OrthancPluginService_StorageAreaRead = 5004,
462 _OrthancPluginService_StorageAreaRemove = 5005,
465 _OrthancPluginService_GetImagePixelFormat = 6000,
466 _OrthancPluginService_GetImageWidth = 6001,
467 _OrthancPluginService_GetImageHeight = 6002,
468 _OrthancPluginService_GetImagePitch = 6003,
469 _OrthancPluginService_GetImageBuffer = 6004,
470 _OrthancPluginService_UncompressImage = 6005,
471 _OrthancPluginService_FreeImage = 6006,
472 _OrthancPluginService_CompressImage = 6007,
473 _OrthancPluginService_ConvertPixelFormat = 6008,
474 _OrthancPluginService_GetFontsCount = 6009,
475 _OrthancPluginService_GetFontInfo = 6010,
476 _OrthancPluginService_DrawText = 6011,
477 _OrthancPluginService_CreateImage = 6012,
478 _OrthancPluginService_CreateImageAccessor = 6013,
479 _OrthancPluginService_DecodeDicomImage = 6014,
482 _OrthancPluginService_WorklistAddAnswer = 7000,
483 _OrthancPluginService_WorklistMarkIncomplete = 7001,
484 _OrthancPluginService_WorklistIsMatch = 7002,
485 _OrthancPluginService_WorklistGetDicomQuery = 7003,
487 _OrthancPluginService_INTERNAL = 0x7fffffff
488 } _OrthancPluginService;
493 _OrthancPluginProperty_Description = 1,
494 _OrthancPluginProperty_RootUri = 2,
495 _OrthancPluginProperty_OrthancExplorer = 3,
497 _OrthancPluginProperty_INTERNAL = 0x7fffffff
498 } _OrthancPluginProperty;
550 _OrthancPluginPixelFormat_INTERNAL = 0x7fffffff
564 _OrthancPluginContentType_INTERNAL = 0x7fffffff
580 _OrthancPluginResourceType_INTERNAL = 0x7fffffff
606 _OrthancPluginChangeType_INTERNAL = 0x7fffffff
621 _OrthancPluginCompressionType_INTERNAL = 0x7fffffff
635 _OrthancPluginImageFormat_INTERNAL = 0x7fffffff
673 _OrthancPluginValueRepresentation_INTERNAL = 0x7fffffff
688 _OrthancPluginDicomToJsonFormat_INTERNAL = 0x7fffffff
706 _OrthancPluginDicomToJsonFlags_INTERNAL = 0x7fffffff
720 _OrthancPluginCreateDicomFlags_INTERNAL = 0x7fffffff
735 _OrthancPluginIdentifierConstraint_INTERNAL = 0x7fffffff
750 _OrthancPluginInstanceOrigin_INTERNAL = 0x7fffffff
841 const char* instanceId);
852 const char* resourceId);
864 uint32_t frameIndex);
947 const char* remoteAet,
948 const char* calledAet);
955 typedef struct _OrthancPluginContext_t
957 void* pluginsManager;
958 const char* orthancVersion;
961 _OrthancPluginService service,
1016 int major, minor, revision;
1020 sizeof(int32_t) !=
sizeof(_OrthancPluginService) ||
1021 sizeof(int32_t) !=
sizeof(_OrthancPluginProperty) ||
1040 if (!strcmp(context->orthancVersion,
"mainline"))
1052 (context->orthancVersion,
"%4d.%4d.%4d", &major, &minor, &revision) != 3)
1059 if (major > ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER)
1064 if (major < ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER)
1071 if (minor > ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER)
1076 if (minor < ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER)
1083 if (revision >= ORTHANC_PLUGINS_MINIMAL_REVISION_NUMBER)
1106 context->Free(buffer->
data);
1120 const char* message)
1122 context->InvokeService(context, _OrthancPluginService_LogError, message);
1136 const char* message)
1138 context->InvokeService(context, _OrthancPluginService_LogWarning, message);
1152 const char* message)
1154 context->InvokeService(context, _OrthancPluginService_LogInfo, message);
1161 const char* pathRegularExpression;
1163 } _OrthancPluginRestCallback;
1183 const char* pathRegularExpression,
1186 _OrthancPluginRestCallback params;
1187 params.pathRegularExpression = pathRegularExpression;
1188 params.callback = callback;
1189 context->InvokeService(context, _OrthancPluginService_RegisterRestCallback, ¶ms);
1217 const char* pathRegularExpression,
1220 _OrthancPluginRestCallback params;
1221 params.pathRegularExpression = pathRegularExpression;
1222 params.callback = callback;
1223 context->InvokeService(context, _OrthancPluginService_RegisterRestCallbackNoLock, ¶ms);
1231 } _OrthancPluginOnStoredInstanceCallback;
1247 _OrthancPluginOnStoredInstanceCallback params;
1248 params.callback = callback;
1250 context->InvokeService(context, _OrthancPluginService_RegisterOnStoredInstanceCallback, ¶ms);
1259 uint32_t answerSize;
1260 const char* mimeType;
1261 } _OrthancPluginAnswerBuffer;
1279 uint32_t answerSize,
1280 const char* mimeType)
1282 _OrthancPluginAnswerBuffer params;
1283 params.output = output;
1284 params.answer = answer;
1285 params.answerSize = answerSize;
1286 params.mimeType = mimeType;
1287 context->InvokeService(context, _OrthancPluginService_AnswerBuffer, ¶ms);
1299 } _OrthancPluginCompressAndAnswerPngImage;
1311 } _OrthancPluginCompressAndAnswerImage;
1341 _OrthancPluginCompressAndAnswerImage params;
1342 params.output = output;
1344 params.pixelFormat = format;
1345 params.width = width;
1346 params.height = height;
1347 params.pitch = pitch;
1348 params.buffer = buffer;
1350 context->InvokeService(context, _OrthancPluginService_CompressAndAnswerImage, ¶ms);
1358 const char* instanceId;
1359 } _OrthancPluginGetDicomForInstance;
1376 const char* instanceId)
1378 _OrthancPluginGetDicomForInstance params;
1379 params.target = target;
1380 params.instanceId = instanceId;
1381 return context->InvokeService(context, _OrthancPluginService_GetDicomForInstance, ¶ms);
1390 } _OrthancPluginRestApiGet;
1410 _OrthancPluginRestApiGet params;
1411 params.target = target;
1413 return context->InvokeService(context, _OrthancPluginService_RestApiGet, ¶ms);
1439 _OrthancPluginRestApiGet params;
1440 params.target = target;
1442 return context->InvokeService(context, _OrthancPluginService_RestApiGetAfterPlugins, ¶ms);
1453 } _OrthancPluginRestApiPostPut;
1477 _OrthancPluginRestApiPostPut params;
1478 params.target = target;
1481 params.bodySize = bodySize;
1482 return context->InvokeService(context, _OrthancPluginService_RestApiPost, ¶ms);
1511 _OrthancPluginRestApiPostPut params;
1512 params.target = target;
1515 params.bodySize = bodySize;
1516 return context->InvokeService(context, _OrthancPluginService_RestApiPostAfterPlugins, ¶ms);
1536 return context->InvokeService(context, _OrthancPluginService_RestApiDelete, uri);
1558 return context->InvokeService(context, _OrthancPluginService_RestApiDeleteAfterPlugins, uri);
1585 _OrthancPluginRestApiPostPut params;
1586 params.target = target;
1589 params.bodySize = bodySize;
1590 return context->InvokeService(context, _OrthancPluginService_RestApiPut, ¶ms);
1620 _OrthancPluginRestApiPostPut params;
1621 params.target = target;
1624 params.bodySize = bodySize;
1625 return context->InvokeService(context, _OrthancPluginService_RestApiPutAfterPlugins, ¶ms);
1633 const char* argument;
1634 } _OrthancPluginOutputPlusArgument;
1650 const char* redirection)
1652 _OrthancPluginOutputPlusArgument params;
1653 params.output = output;
1654 params.argument = redirection;
1655 context->InvokeService(context, _OrthancPluginService_Redirect, ¶ms);
1663 const char* argument;
1664 } _OrthancPluginRetrieveDynamicString;
1681 const char* patientID)
1685 _OrthancPluginRetrieveDynamicString params;
1686 params.result = &result;
1687 params.argument = patientID;
1716 const char* studyUID)
1720 _OrthancPluginRetrieveDynamicString params;
1721 params.result = &result;
1722 params.argument = studyUID;
1751 const char* accessionNumber)
1755 _OrthancPluginRetrieveDynamicString params;
1756 params.result = &result;
1757 params.argument = accessionNumber;
1786 const char* seriesUID)
1790 _OrthancPluginRetrieveDynamicString params;
1791 params.result = &result;
1792 params.argument = seriesUID;
1821 const char* sopInstanceUID)
1825 _OrthancPluginRetrieveDynamicString params;
1826 params.result = &result;
1827 params.argument = sopInstanceUID;
1846 } _OrthancPluginSendHttpStatusCode;
1869 _OrthancPluginSendHttpStatusCode params;
1870 params.output = output;
1871 params.status = status;
1872 context->InvokeService(context, _OrthancPluginService_SendHttpStatusCode, ¶ms);
1892 _OrthancPluginOutputPlusArgument params;
1893 params.output = output;
1894 params.argument = realm;
1895 context->InvokeService(context, _OrthancPluginService_SendUnauthorized, ¶ms);
1913 const char* allowedMethods)
1915 _OrthancPluginOutputPlusArgument params;
1916 params.output = output;
1917 params.argument = allowedMethods;
1918 context->InvokeService(context, _OrthancPluginService_SendMethodNotAllowed, ¶ms);
1927 } _OrthancPluginSetHttpHeader;
1946 _OrthancPluginSetHttpHeader params;
1947 params.output = output;
1948 params.key = cookie;
1949 params.value = value;
1950 context->InvokeService(context, _OrthancPluginService_SetCookie, ¶ms);
1971 _OrthancPluginSetHttpHeader params;
1972 params.output = output;
1974 params.value = value;
1975 context->InvokeService(context, _OrthancPluginService_SetHttpHeader, ¶ms);
1981 char** resultStringToFree;
1982 const char** resultString;
1983 int64_t* resultInt64;
1987 } _OrthancPluginAccessDicomInstance;
2007 _OrthancPluginAccessDicomInstance params;
2008 memset(¶ms, 0,
sizeof(params));
2009 params.resultString = &result;
2010 params.instance = instance;
2040 _OrthancPluginAccessDicomInstance params;
2041 memset(¶ms, 0,
sizeof(params));
2042 params.resultInt64 = &size;
2043 params.instance = instance;
2073 _OrthancPluginAccessDicomInstance params;
2074 memset(¶ms, 0,
sizeof(params));
2075 params.resultString = &result;
2076 params.instance = instance;
2109 _OrthancPluginAccessDicomInstance params;
2110 memset(¶ms, 0,
sizeof(params));
2111 params.resultStringToFree = &result;
2112 params.instance = instance;
2147 _OrthancPluginAccessDicomInstance params;
2148 memset(¶ms, 0,
sizeof(params));
2149 params.resultStringToFree = &result;
2150 params.instance = instance;
2183 const char* metadata)
2187 _OrthancPluginAccessDicomInstance params;
2188 memset(¶ms, 0,
sizeof(params));
2189 params.resultInt64 = &result;
2190 params.instance = instance;
2191 params.key = metadata;
2200 return (result != 0);
2221 const char* metadata)
2225 _OrthancPluginAccessDicomInstance params;
2226 memset(¶ms, 0,
sizeof(params));
2227 params.resultString = &result;
2228 params.instance = instance;
2229 params.key = metadata;
2250 } _OrthancPluginRegisterStorageArea;
2272 _OrthancPluginRegisterStorageArea params;
2273 params.create = create;
2275 params.remove =
remove;
2278 params.free = ::free;
2283 context->InvokeService(context, _OrthancPluginService_RegisterStorageArea, ¶ms);
2302 _OrthancPluginRetrieveDynamicString params;
2303 params.result = &result;
2304 params.argument = NULL;
2332 _OrthancPluginRetrieveDynamicString params;
2333 params.result = &result;
2334 params.argument = NULL;
2367 _OrthancPluginRetrieveDynamicString params;
2368 params.result = &result;
2369 params.argument = NULL;
2387 } _OrthancPluginOnChangeCallback;
2409 _OrthancPluginOnChangeCallback params;
2410 params.callback = callback;
2412 context->InvokeService(context, _OrthancPluginService_RegisterOnChangeCallback, ¶ms);
2420 _OrthancPluginProperty property;
2422 } _OrthancPluginSetPluginProperty;
2440 _OrthancPluginSetPluginProperty params;
2441 params.plugin = OrthancPluginGetName();
2442 params.property = _OrthancPluginProperty_RootUri;
2445 context->InvokeService(context, _OrthancPluginService_SetPluginProperty, ¶ms);
2460 const char* description)
2462 _OrthancPluginSetPluginProperty params;
2463 params.plugin = OrthancPluginGetName();
2464 params.property = _OrthancPluginProperty_Description;
2465 params.value = description;
2467 context->InvokeService(context, _OrthancPluginService_SetPluginProperty, ¶ms);
2482 const char* javascript)
2484 _OrthancPluginSetPluginProperty params;
2485 params.plugin = OrthancPluginGetName();
2486 params.property = _OrthancPluginProperty_OrthancExplorer;
2487 params.value = javascript;
2489 context->InvokeService(context, _OrthancPluginService_SetPluginProperty, ¶ms);
2498 } _OrthancPluginGlobalProperty;
2517 const char* defaultValue)
2521 _OrthancPluginGlobalProperty params;
2522 params.result = &result;
2523 params.property = property;
2524 params.value = defaultValue;
2558 _OrthancPluginGlobalProperty params;
2559 params.result = NULL;
2560 params.property = property;
2561 params.value = value;
2563 return context->InvokeService(context, _OrthancPluginService_SetGlobalProperty, ¶ms);
2570 int32_t *resultInt32;
2571 uint32_t *resultUint32;
2572 int64_t *resultInt64;
2573 uint64_t *resultUint64;
2574 } _OrthancPluginReturnSingleValue;
2589 _OrthancPluginReturnSingleValue params;
2590 memset(¶ms, 0,
sizeof(params));
2591 params.resultUint32 = &count;
2624 _OrthancPluginGlobalProperty params;
2625 params.result = &result;
2626 params.property = (int32_t) argument;
2627 params.value = NULL;
2656 _OrthancPluginReturnSingleValue params;
2657 memset(¶ms, 0,
sizeof(params));
2658 params.resultUint32 = &count;
2688 _OrthancPluginRetrieveDynamicString params;
2689 params.result = &result;
2690 params.argument = NULL;
2708 const char* subType;
2709 const char* contentType;
2710 } _OrthancPluginStartMultipartAnswer;
2728 const char* subType,
2729 const char* contentType)
2731 _OrthancPluginStartMultipartAnswer params;
2732 params.output = output;
2733 params.subType = subType;
2734 params.contentType = contentType;
2735 return context->InvokeService(context, _OrthancPluginService_StartMultipartAnswer, ¶ms);
2757 uint32_t answerSize)
2759 _OrthancPluginAnswerBuffer params;
2760 params.output = output;
2761 params.answer = answer;
2762 params.answerSize = answerSize;
2763 params.mimeType = NULL;
2764 return context->InvokeService(context, _OrthancPluginService_SendMultipartItem, ¶ms);
2776 } _OrthancPluginBufferCompression;
2803 _OrthancPluginBufferCompression params;
2804 params.target = target;
2805 params.source = source;
2807 params.compression = compression;
2808 params.uncompress = uncompress;
2810 return context->InvokeService(context, _OrthancPluginService_BufferCompression, ¶ms);
2819 } _OrthancPluginReadFile;
2837 _OrthancPluginReadFile params;
2838 params.target = target;
2840 return context->InvokeService(context, _OrthancPluginService_ReadFile, ¶ms);
2850 } _OrthancPluginWriteFile;
2869 _OrthancPluginWriteFile params;
2873 return context->InvokeService(context, _OrthancPluginService_WriteFile, ¶ms);
2880 const char** target;
2882 } _OrthancPluginGetErrorDescription;
2898 const char* result = NULL;
2900 _OrthancPluginGetErrorDescription params;
2901 params.target = &result;
2902 params.error = error;
2907 return "Unknown error code";
2923 } _OrthancPluginSendHttpStatus;
2954 _OrthancPluginSendHttpStatus params;
2955 params.output = output;
2956 params.status = status;
2958 params.bodySize = bodySize;
2959 context->InvokeService(context, _OrthancPluginService_SendHttpStatus, ¶ms);
2967 uint32_t* resultUint32;
2969 void** resultBuffer;
2970 } _OrthancPluginGetImageInfo;
2989 _OrthancPluginGetImageInfo params;
2990 memset(¶ms, 0,
sizeof(params));
2991 params.image = image;
2992 params.resultPixelFormat = ⌖
3022 _OrthancPluginGetImageInfo params;
3023 memset(¶ms, 0,
sizeof(params));
3024 params.image = image;
3025 params.resultUint32 = &width;
3055 _OrthancPluginGetImageInfo params;
3056 memset(¶ms, 0,
sizeof(params));
3057 params.image = image;
3058 params.resultUint32 = &height;
3090 _OrthancPluginGetImageInfo params;
3091 memset(¶ms, 0,
sizeof(params));
3092 params.image = image;
3093 params.resultUint32 = &pitch;
3122 void* target = NULL;
3124 _OrthancPluginGetImageInfo params;
3125 memset(¶ms, 0,
sizeof(params));
3126 params.resultBuffer = ⌖
3127 params.image = image;
3146 } _OrthancPluginUncompressImage;
3169 _OrthancPluginUncompressImage params;
3170 memset(¶ms, 0,
sizeof(params));
3171 params.target = ⌖
3174 params.format = format;
3192 } _OrthancPluginFreeImage;
3207 _OrthancPluginFreeImage params;
3208 params.image = image;
3210 context->InvokeService(context, _OrthancPluginService_FreeImage, ¶ms);
3226 } _OrthancPluginCompressImage;
3257 _OrthancPluginCompressImage params;
3258 memset(¶ms, 0,
sizeof(params));
3259 params.target = target;
3261 params.pixelFormat = format;
3262 params.width = width;
3263 params.height = height;
3264 params.pitch = pitch;
3265 params.buffer = buffer;
3268 return context->InvokeService(context, _OrthancPluginService_CompressImage, ¶ms);
3303 _OrthancPluginCompressImage params;
3304 memset(¶ms, 0,
sizeof(params));
3305 params.target = target;
3307 params.pixelFormat = format;
3308 params.width = width;
3309 params.height = height;
3310 params.pitch = pitch;
3311 params.buffer = buffer;
3312 params.quality = quality;
3314 return context->InvokeService(context, _OrthancPluginService_CompressImage, ¶ms);
3350 _OrthancPluginCompressAndAnswerImage params;
3351 params.output = output;
3353 params.pixelFormat = format;
3354 params.width = width;
3355 params.height = height;
3356 params.pitch = pitch;
3357 params.buffer = buffer;
3358 params.quality = quality;
3359 context->InvokeService(context, _OrthancPluginService_CompressAndAnswerImage, ¶ms);
3370 const char* username;
3371 const char* password;
3374 } _OrthancPluginCallHttpClient;
3396 const char* username,
3397 const char* password)
3399 _OrthancPluginCallHttpClient params;
3400 memset(¶ms, 0,
sizeof(params));
3402 params.target = target;
3405 params.username = username;
3406 params.password = password;
3408 return context->InvokeService(context, _OrthancPluginService_CallHttpClient, ¶ms);
3435 const char* username,
3436 const char* password)
3438 _OrthancPluginCallHttpClient params;
3439 memset(¶ms, 0,
sizeof(params));
3441 params.target = target;
3445 params.bodySize = bodySize;
3446 params.username = username;
3447 params.password = password;
3449 return context->InvokeService(context, _OrthancPluginService_CallHttpClient, ¶ms);
3476 const char* username,
3477 const char* password)
3479 _OrthancPluginCallHttpClient params;
3480 memset(¶ms, 0,
sizeof(params));
3482 params.target = target;
3486 params.bodySize = bodySize;
3487 params.username = username;
3488 params.password = password;
3490 return context->InvokeService(context, _OrthancPluginService_CallHttpClient, ¶ms);
3510 const char* username,
3511 const char* password)
3513 _OrthancPluginCallHttpClient params;
3514 memset(¶ms, 0,
sizeof(params));
3518 params.username = username;
3519 params.password = password;
3521 return context->InvokeService(context, _OrthancPluginService_CallHttpClient, ¶ms);
3531 } _OrthancPluginConvertPixelFormat;
3552 _OrthancPluginConvertPixelFormat params;
3553 params.target = ⌖
3554 params.source = source;
3555 params.targetFormat = targetFormat;
3585 _OrthancPluginReturnSingleValue params;
3586 memset(¶ms, 0,
sizeof(params));
3587 params.resultUint32 = &count;
3608 } _OrthancPluginGetFontInfo;
3624 const char* result = NULL;
3626 _OrthancPluginGetFontInfo params;
3627 memset(¶ms, 0,
sizeof(params));
3628 params.name = &result;
3629 params.fontIndex = fontIndex;
3658 _OrthancPluginGetFontInfo params;
3659 memset(¶ms, 0,
sizeof(params));
3660 params.size = &result;
3661 params.fontIndex = fontIndex;
3679 const char* utf8Text;
3685 } _OrthancPluginDrawText;
3709 const char* utf8Text,
3716 _OrthancPluginDrawText params;
3717 memset(¶ms, 0,
sizeof(params));
3718 params.image = image;
3719 params.fontIndex = fontIndex;
3720 params.utf8Text = utf8Text;
3727 return context->InvokeService(context, _OrthancPluginService_DrawText, ¶ms);
3736 const void* content;
3739 } _OrthancPluginStorageAreaCreate;
3761 const void* content,
3765 _OrthancPluginStorageAreaCreate params;
3766 params.storageArea = storageArea;
3768 params.content = content;
3772 return context->InvokeService(context, _OrthancPluginService_StorageAreaCreate, ¶ms);
3782 } _OrthancPluginStorageAreaRead;
3806 _OrthancPluginStorageAreaRead params;
3807 params.target = target;
3808 params.storageArea = storageArea;
3812 return context->InvokeService(context, _OrthancPluginService_StorageAreaRead, ¶ms);
3821 } _OrthancPluginStorageAreaRemove;
3842 _OrthancPluginStorageAreaRemove params;
3843 params.storageArea = storageArea;
3847 return context->InvokeService(context, _OrthancPluginService_StorageAreaRemove, ¶ms);
3856 uint16_t httpStatus;
3857 const char* message;
3858 } _OrthancPluginRegisterErrorCode;
3878 uint16_t httpStatus,
3879 const char* message)
3883 _OrthancPluginRegisterErrorCode params;
3884 params.target = ⌖
3886 params.httpStatus = httpStatus;
3887 params.message = message;
3908 uint32_t minMultiplicity;
3909 uint32_t maxMultiplicity;
3910 } _OrthancPluginRegisterDictionaryTag;
3936 uint32_t minMultiplicity,
3937 uint32_t maxMultiplicity)
3939 _OrthancPluginRegisterDictionaryTag params;
3940 params.group = group;
3941 params.element = element;
3944 params.minMultiplicity = minMultiplicity;
3945 params.maxMultiplicity = maxMultiplicity;
3947 return context->InvokeService(context, _OrthancPluginService_RegisterDictionaryTag, ¶ms);
3957 } _OrthancPluginReconstructMainDicomTags;
3980 _OrthancPluginReconstructMainDicomTags params;
3981 params.level = level;
3982 params.storageArea = storageArea;
3984 return context->InvokeService(context, _OrthancPluginService_ReconstructMainDicomTags, ¶ms);
3991 const char* instanceId;
3996 uint32_t maxStringLength;
3997 } _OrthancPluginDicomToJson;
4025 uint32_t maxStringLength)
4029 _OrthancPluginDicomToJson params;
4030 memset(¶ms, 0,
sizeof(params));
4031 params.result = &result;
4032 params.buffer = buffer;
4034 params.format = format;
4035 params.flags = flags;
4036 params.maxStringLength = maxStringLength;
4070 const char* instanceId,
4073 uint32_t maxStringLength)
4077 _OrthancPluginDicomToJson params;
4078 memset(¶ms, 0,
sizeof(params));
4079 params.result = &result;
4080 params.instanceId = instanceId;
4081 params.format = format;
4082 params.flags = flags;
4083 params.maxStringLength = maxStringLength;
4101 uint32_t headersCount;
4102 const char*
const* headersKeys;
4103 const char*
const* headersValues;
4104 int32_t afterPlugins;
4105 } _OrthancPluginRestApiGet2;
4130 uint32_t headersCount,
4131 const char*
const* headersKeys,
4132 const char*
const* headersValues,
4133 int32_t afterPlugins)
4135 _OrthancPluginRestApiGet2 params;
4136 params.target = target;
4138 params.headersCount = headersCount;
4139 params.headersKeys = headersKeys;
4140 params.headersValues = headersValues;
4141 params.afterPlugins = afterPlugins;
4143 return context->InvokeService(context, _OrthancPluginService_RestApiGet2, ¶ms);
4151 } _OrthancPluginWorklistCallback;
4168 _OrthancPluginWorklistCallback params;
4169 params.callback = callback;
4171 return context->InvokeService(context, _OrthancPluginService_RegisterWorklistCallback, ¶ms);
4182 } _OrthancPluginWorklistAnswersOperation;
4206 _OrthancPluginWorklistAnswersOperation params;
4207 params.answers = answers;
4208 params.query = query;
4209 params.dicom = dicom;
4212 return context->InvokeService(context, _OrthancPluginService_WorklistAddAnswer, ¶ms);
4233 _OrthancPluginWorklistAnswersOperation params;
4234 params.answers = answers;
4235 params.query = NULL;
4236 params.dicom = NULL;
4239 return context->InvokeService(context, _OrthancPluginService_WorklistMarkIncomplete, ¶ms);
4250 } _OrthancPluginWorklistQueryOperation;
4273 int32_t isMatch = 0;
4275 _OrthancPluginWorklistQueryOperation params;
4276 params.query = query;
4277 params.dicom = dicom;
4279 params.isMatch = &isMatch;
4280 params.target = NULL;
4311 _OrthancPluginWorklistQueryOperation params;
4312 params.query = query;
4313 params.dicom = NULL;
4315 params.isMatch = NULL;
4316 params.target = target;
4318 return context->InvokeService(context, _OrthancPluginService_WorklistGetDicomQuery, ¶ms);
4338 _OrthancPluginAccessDicomInstance params;
4339 memset(¶ms, 0,
sizeof(params));
4340 params.resultOrigin = &origin;
4341 params.instance = instance;
4361 } _OrthancPluginCreateDicom;
4388 _OrthancPluginCreateDicom params;
4389 params.target = target;
4391 params.pixelData = pixelData;
4392 params.flags = flags;
4394 return context->InvokeService(context, _OrthancPluginService_CreateDicom, ¶ms);
4401 } _OrthancPluginDecodeImageCallback;
4418 _OrthancPluginDecodeImageCallback params;
4419 params.callback = callback;
4421 return context->InvokeService(context, _OrthancPluginService_RegisterDecodeImageCallback, ¶ms);
4434 const void* constBuffer;
4435 uint32_t bufferSize;
4436 uint32_t frameIndex;
4437 } _OrthancPluginCreateImage;
4460 _OrthancPluginCreateImage params;
4461 memset(¶ms, 0,
sizeof(params));
4462 params.target = ⌖
4463 params.format = format;
4464 params.width = width;
4465 params.height = height;
4505 _OrthancPluginCreateImage params;
4506 memset(¶ms, 0,
sizeof(params));
4507 params.target = ⌖
4508 params.format = format;
4509 params.width = width;
4510 params.height = height;
4511 params.pitch = pitch;
4512 params.buffer = buffer;
4543 uint32_t bufferSize,
4544 uint32_t frameIndex)
4548 _OrthancPluginCreateImage params;
4549 memset(¶ms, 0,
sizeof(params));
4550 params.target = ⌖
4551 params.constBuffer = buffer;
4552 params.bufferSize = bufferSize;
4553 params.frameIndex = frameIndex;
4572 } _OrthancPluginComputeHash;
4593 _OrthancPluginComputeHash params;
4594 params.result = &result;
4595 params.buffer = buffer;
4629 _OrthancPluginComputeHash params;
4630 params.result = &result;
4631 params.buffer = buffer;
4651 } _OrthancPluginLookupDictionary;
4673 _OrthancPluginLookupDictionary params;
4674 params.target = target;
4676 return context->InvokeService(context, _OrthancPluginService_LookupDictionary, ¶ms);
Definition: OrthancCPlugin.h:632
const char * OrthancPluginGetInstanceRemoteAet(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the AET of a DICOM instance.
Definition: OrthancCPlugin.h:2001
int OrthancPluginHasInstanceMetadata(OrthancPluginContext *context, OrthancPluginDicomInstance *instance, const char *metadata)
Check whether a DICOM instance is associated with some metadata.
Definition: OrthancCPlugin.h:2180
OrthancPluginChangeType
Definition: OrthancCPlugin.h:589
void OrthancPluginSendHttpStatusCode(OrthancPluginContext *context, OrthancPluginRestOutput *output, uint16_t status)
Send a HTTP status code.
Definition: OrthancCPlugin.h:1864
void OrthancPluginSetHttpHeader(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *key, const char *value)
Set some HTTP header.
Definition: OrthancCPlugin.h:1965
OrthancPluginErrorCode OrthancPluginRegisterDecodeImageCallback(OrthancPluginContext *context, OrthancPluginDecodeImageCallback callback)
Register a callback to handle the decoding of DICOM images.
Definition: OrthancCPlugin.h:4414
OrthancPluginErrorCode OrthancPluginWorklistMarkIncomplete(OrthancPluginContext *context, OrthancPluginWorklistAnswers *answers)
Mark the set of worklist answers as incomplete.
Definition: OrthancCPlugin.h:4229
The parameters of a REST request.
Definition: OrthancCPlugin.h:310
void OrthancPluginRedirect(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *redirection)
Redirect a REST request.
Definition: OrthancCPlugin.h:1647
OrthancPluginErrorCode OrthancPluginRestApiDeleteAfterPlugins(OrthancPluginContext *context, const char *uri)
Make a DELETE call to the REST API, as tainted by the plugins.
Definition: OrthancCPlugin.h:1554
OrthancPluginErrorCode(* OrthancPluginWorklistCallback)(OrthancPluginWorklistAnswers *answers, const OrthancPluginWorklistQuery *query, const char *remoteAet, const char *calledAet)
Callback to handle the C-Find SCP requests received by Orthanc.
Definition: OrthancCPlugin.h:944
const char * OrthancPluginGetInstanceData(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the data of a DICOM file.
Definition: OrthancCPlugin.h:2067
OrthancPluginErrorCode OrthancPluginCompressPngImage(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, OrthancPluginPixelFormat format, uint32_t width, uint32_t height, uint32_t pitch, const void *buffer)
Encode a PNG image.
Definition: OrthancCPlugin.h:3248
void OrthancPluginCompressAndAnswerJpegImage(OrthancPluginContext *context, OrthancPluginRestOutput *output, OrthancPluginPixelFormat format, uint32_t width, uint32_t height, uint32_t pitch, const void *buffer, uint8_t quality)
Answer to a REST request with a JPEG image.
Definition: OrthancCPlugin.h:3340
int32_t OrthancPluginWorklistIsMatch(OrthancPluginContext *context, const OrthancPluginWorklistQuery *query, const void *dicom, uint32_t size)
Test whether a worklist matches the query.
Definition: OrthancCPlugin.h:4267
int OrthancPluginCheckVersion(OrthancPluginContext *context)
Check the compatibility of the plugin wrt. the version of its hosting Orthanc.
Definition: OrthancCPlugin.h:1013
int64_t OrthancPluginGetInstanceSize(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the size of a DICOM file.
Definition: OrthancCPlugin.h:2034
Graylevel, unsigned 16bpp image.
Definition: OrthancCPlugin.h:522
Definition: OrthancCPlugin.h:604
const char *const * headersValues
The values of the HTTP headers.
Definition: OrthancCPlugin.h:370
const char *const * headersKeys
The keys of the HTTP headers (always converted to low-case).
Definition: OrthancCPlugin.h:365
OrthancPluginPixelFormat
Definition: OrthancCPlugin.h:506
uint32_t getCount
For a GET request, the number of GET parameters.
Definition: OrthancCPlugin.h:330
Definition: OrthancCPlugin.h:548
void OrthancPluginRegisterStorageArea(OrthancPluginContext *context, OrthancPluginStorageCreate create, OrthancPluginStorageRead read, OrthancPluginStorageRemove remove)
Register a custom storage area.
Definition: OrthancCPlugin.h:2266
OrthancPluginErrorCode OrthancPluginGetDicomForInstance(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *instanceId)
Retrieve a DICOM instance using its Orthanc identifier.
Definition: OrthancCPlugin.h:1373
OrthancPluginImageFormat
Definition: OrthancCPlugin.h:629
const char * OrthancPluginGetFontName(OrthancPluginContext *context, uint32_t fontIndex)
Return the name of a font.
Definition: OrthancCPlugin.h:3620
OrthancPluginImage * OrthancPluginConvertPixelFormat(OrthancPluginContext *context, const OrthancPluginImage *source, OrthancPluginPixelFormat targetFormat)
Change the pixel format of an image.
Definition: OrthancCPlugin.h:3545
Definition: OrthancCPlugin.h:598
OrthancPluginErrorCode OrthancPluginStorageAreaRead(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, OrthancPluginStorageArea *storageArea, const char *uuid, OrthancPluginContentType type)
Read a file from the storage area.
Definition: OrthancCPlugin.h:3799
uint32_t OrthancPluginGetFontsCount(OrthancPluginContext *context)
Return the number of available fonts.
Definition: OrthancCPlugin.h:3580
void OrthancPluginRegisterOnChangeCallback(OrthancPluginContext *context, OrthancPluginOnChangeCallback callback)
Register a callback to monitor changes.
Definition: OrthancCPlugin.h:2405
Color image in RGBA32 format.
Definition: OrthancCPlugin.h:546
OrthancPluginErrorCode OrthancPluginWorklistAddAnswer(OrthancPluginContext *context, OrthancPluginWorklistAnswers *answers, const OrthancPluginWorklistQuery *query, const void *dicom, uint32_t size)
Add one answer to some modality worklist request.
Definition: OrthancCPlugin.h:4199
void OrthancPluginSendMethodNotAllowed(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *allowedMethods)
Signal that this URI does not support this HTTP method.
Definition: OrthancCPlugin.h:1910
Definition: OrthancCPlugin.h:616
void OrthancPluginAnswerBuffer(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *answer, uint32_t answerSize, const char *mimeType)
Answer to a REST request.
Definition: OrthancCPlugin.h:1275
Definition: OrthancCPlugin.h:592
OrthancPluginErrorCode OrthancPluginRegisterWorklistCallback(OrthancPluginContext *context, OrthancPluginWorklistCallback callback)
Register a callback to handle modality worklists requests.
Definition: OrthancCPlugin.h:4164
OrthancPluginImage * OrthancPluginDecodeDicomImage(OrthancPluginContext *context, const void *buffer, uint32_t bufferSize, uint32_t frameIndex)
Decode one frame from a DICOM instance.
Definition: OrthancCPlugin.h:4540
uint16_t group
Definition: OrthancCPlugin.h:972
void * OrthancPluginGetImageBuffer(OrthancPluginContext *context, const OrthancPluginImage *image)
Return a pointer to the content of an image.
Definition: OrthancCPlugin.h:3118
uint32_t minMultiplicity
Definition: OrthancCPlugin.h:975
const char * OrthancPluginGetInstanceMetadata(OrthancPluginContext *context, OrthancPluginDicomInstance *instance, const char *metadata)
Get the value of some metadata associated with a given DICOM instance.
Definition: OrthancCPlugin.h:2218
Definition: OrthancCPlugin.h:631
struct _OrthancPluginStorageArea_t OrthancPluginStorageArea
Opaque structure that represents the storage area that is actually used by Orthanc.
Definition: OrthancCPlugin.h:804
Definition: OrthancCPlugin.h:596
OrthancPluginErrorCode OrthancPluginRestApiPutAfterPlugins(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri, const char *body, uint32_t bodySize)
Make a PUT call to the REST API, as tainted by the plugins.
Definition: OrthancCPlugin.h:1613
uint32_t OrthancPluginGetExpectedDatabaseVersion(OrthancPluginContext *context)
Get the expected version of the database schema.
Definition: OrthancCPlugin.h:2651
Graylevel 8bpp image.
Definition: OrthancCPlugin.h:514
uint32_t OrthancPluginGetImageHeight(OrthancPluginContext *context, const OrthancPluginImage *image)
Return the height of an image.
Definition: OrthancCPlugin.h:3049
void OrthancPluginSendHttpStatus(OrthancPluginContext *context, OrthancPluginRestOutput *output, uint16_t status, const char *body, uint32_t bodySize)
Send a HTTP status, with a custom body.
Definition: OrthancCPlugin.h:2947
OrthancPluginImage * OrthancPluginUncompressImage(OrthancPluginContext *context, const void *data, uint32_t size, OrthancPluginImageFormat format)
Decode a compressed image.
Definition: OrthancCPlugin.h:3161
OrthancPluginErrorCode(* OrthancPluginRestCallback)(OrthancPluginRestOutput *output, const char *url, const OrthancPluginHttpRequest *request)
Signature of a callback function that answers to a REST request.
Definition: OrthancCPlugin.h:828
Definition: OrthancCPlugin.h:617
Definition: OrthancCPlugin.h:619
Color image in RGB24 format.
Definition: OrthancCPlugin.h:538
Graylevel, signed 16bpp image.
Definition: OrthancCPlugin.h:530
An entry in the dictionary of DICOM tags.
Definition: OrthancCPlugin.h:970
Definition: OrthancCPlugin.h:591
OrthancPluginCompressionType
Definition: OrthancCPlugin.h:614
OrthancPluginErrorCode OrthancPluginRestApiGet2(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri, uint32_t headersCount, const char *const *headersKeys, const char *const *headersValues, int32_t afterPlugins)
Make a GET call to the Orthanc REST API, with custom HTTP headers.
Definition: OrthancCPlugin.h:4126
OrthancPluginPixelFormat OrthancPluginGetImagePixelFormat(OrthancPluginContext *context, const OrthancPluginImage *image)
Return the pixel format of an image.
Definition: OrthancCPlugin.h:2983
OrthancPluginErrorCode OrthancPluginDrawText(OrthancPluginContext *context, OrthancPluginImage *image, uint32_t fontIndex, const char *utf8Text, int32_t x, int32_t y, uint8_t r, uint8_t g, uint8_t b)
Draw text on an image.
Definition: OrthancCPlugin.h:3705
uint32_t OrthancPluginGetImagePitch(OrthancPluginContext *context, const OrthancPluginImage *image)
Return the pitch of an image.
Definition: OrthancCPlugin.h:3084
void OrthancPluginCompressAndAnswerPngImage(OrthancPluginContext *context, OrthancPluginRestOutput *output, OrthancPluginPixelFormat format, uint32_t width, uint32_t height, uint32_t pitch, const void *buffer)
Answer to a REST request with a PNG image.
Definition: OrthancCPlugin.h:1332
uint32_t maxMultiplicity
Definition: OrthancCPlugin.h:976
OrthancPluginErrorCode(* OrthancPluginDecodeImageCallback)(OrthancPluginImage **target, const void *dicom, const uint32_t size, uint32_t frameIndex)
Signature of a callback function to decode a DICOM instance as an image.
Definition: OrthancCPlugin.h:860
void OrthancPluginSendUnauthorized(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *realm)
Signal that a REST request is not authorized.
Definition: OrthancCPlugin.h:1887
void * data
The content of the buffer.
Definition: OrthancCPlugin.h:766
uint32_t OrthancPluginGetFontSize(OrthancPluginContext *context, uint32_t fontIndex)
Return the size of a font.
Definition: OrthancCPlugin.h:3652
OrthancPluginErrorCode OrthancPluginRestApiGet(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri)
Make a GET call to the built-in Orthanc REST API.
Definition: OrthancCPlugin.h:1405
uint32_t headersCount
The number of HTTP headers.
Definition: OrthancCPlugin.h:360
Definition: OrthancCPlugin.h:597
OrthancPluginErrorCode(* OrthancPluginStorageCreate)(const char *uuid, const void *content, int64_t size, OrthancPluginContentType type)
Callback for writing to the storage area.
Definition: OrthancCPlugin.h:887
OrthancPluginErrorCode OrthancPluginRestApiDelete(OrthancPluginContext *context, const char *uri)
Make a DELETE call to the built-in Orthanc REST API.
Definition: OrthancCPlugin.h:1532
OrthancPluginImage * OrthancPluginCreateImage(OrthancPluginContext *context, OrthancPluginPixelFormat format, uint32_t width, uint32_t height)
Create an image.
Definition: OrthancCPlugin.h:4452
char * OrthancPluginGetGlobalProperty(OrthancPluginContext *context, int32_t property, const char *defaultValue)
Get the value of a global property.
Definition: OrthancCPlugin.h:2514
OrthancPluginErrorCode(* OrthancPluginStorageRemove)(const char *uuid, OrthancPluginContentType type)
Callback for removing a file from the storage area.
Definition: OrthancCPlugin.h:925
Definition: OrthancCPlugin.h:599
OrthancPluginErrorCode OrthancPluginReconstructMainDicomTags(OrthancPluginContext *context, OrthancPluginStorageArea *storageArea, OrthancPluginResourceType level)
Reconstruct the main DICOM tags.
Definition: OrthancCPlugin.h:3975
OrthancPluginImage * OrthancPluginCreateImageAccessor(OrthancPluginContext *context, OrthancPluginPixelFormat format, uint32_t width, uint32_t height, uint32_t pitch, void *buffer)
Create an image pointing to a memory buffer.
Definition: OrthancCPlugin.h:4495
const char *const * getValues
For a GET request, the values of the GET parameters.
Definition: OrthancCPlugin.h:340
OrthancPluginErrorCode(* OrthancPluginOnChangeCallback)(OrthancPluginChangeType changeType, OrthancPluginResourceType resourceType, const char *resourceId)
Signature of a callback function that is triggered when a change happens to some DICOM resource...
Definition: OrthancCPlugin.h:849
char * OrthancPluginGetInstanceSimplifiedJson(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the DICOM tag hierarchy as a JSON file (with simplification).
Definition: OrthancCPlugin.h:2141
OrthancPluginErrorCode OrthancPluginBufferCompression(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const void *source, uint32_t size, OrthancPluginCompressionType compression, uint8_t uncompress)
Compress or decompress a buffer.
Definition: OrthancCPlugin.h:2795
Definition: OrthancCPlugin.h:633
const char * body
For a PUT or POST request, the content of the body.
Definition: OrthancCPlugin.h:345
void OrthancPluginRegisterRestCallbackNoLock(OrthancPluginContext *context, const char *pathRegularExpression, OrthancPluginRestCallback callback)
Register a REST callback, without locking.
Definition: OrthancCPlugin.h:1215
Definition: OrthancCPlugin.h:602
struct _OrthancPluginImage_t OrthancPluginImage
Opaque structure that represents an image that is uncompressed in memory.
Definition: OrthancCPlugin.h:796
OrthancPluginErrorCode OrthancPluginRestApiPut(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri, const char *body, uint32_t bodySize)
Make a PUT call to the built-in Orthanc REST API.
Definition: OrthancCPlugin.h:1578
OrthancPluginErrorCode OrthancPluginStartMultipartAnswer(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *subType, const char *contentType)
Start an HTTP multipart answer.
Definition: OrthancCPlugin.h:2725
OrthancPluginErrorCode OrthancPluginStorageAreaRemove(OrthancPluginContext *context, OrthancPluginStorageArea *storageArea, const char *uuid, OrthancPluginContentType type)
Remove a file from the storage area.
Definition: OrthancCPlugin.h:3836
Definition: OrthancCPlugin.h:603
const char *const * getKeys
For a GET request, the keys of the GET parameters.
Definition: OrthancCPlugin.h:335
Definition: OrthancCPlugin.h:594
char * OrthancPluginLookupPatient(OrthancPluginContext *context, const char *patientID)
Look for a patient.
Definition: OrthancCPlugin.h:1679
OrthancPluginInstanceOrigin OrthancPluginGetInstanceOrigin(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the origin of a DICOM file.
Definition: OrthancCPlugin.h:4332
void OrthancPluginFreeImage(OrthancPluginContext *context, OrthancPluginImage *image)
Free an image.
Definition: OrthancCPlugin.h:3203
OrthancPluginValueRepresentation vr
Definition: OrthancCPlugin.h:974
uint16_t element
Definition: OrthancCPlugin.h:973
char * OrthancPluginLookupInstance(OrthancPluginContext *context, const char *sopInstanceUID)
Look for an instance.
Definition: OrthancCPlugin.h:1819
Definition: OrthancCPlugin.h:601
OrthancPluginErrorCode OrthancPluginSetGlobalProperty(OrthancPluginContext *context, int32_t property, const char *value)
Set the value of a global property.
Definition: OrthancCPlugin.h:2553
OrthancPluginErrorCode OrthancPluginSendMultipartItem(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *answer, uint32_t answerSize)
Send an item as a part of some HTTP multipart answer.
Definition: OrthancCPlugin.h:2753
struct _OrthancPluginWorklistQuery_t OrthancPluginWorklistQuery
Opaque structure to an object that represents a C-Find query.
Definition: OrthancCPlugin.h:812
const char *const * groups
The matched values for the groups of the regular expression.
Definition: OrthancCPlugin.h:325
OrthancPluginErrorCode(* OrthancPluginStorageRead)(void **content, int64_t *size, const char *uuid, OrthancPluginContentType type)
Callback for reading from the storage area.
Definition: OrthancCPlugin.h:907
char * OrthancPluginLookupStudy(OrthancPluginContext *context, const char *studyUID)
Look for a study.
Definition: OrthancCPlugin.h:1714
uint32_t size
The number of bytes in the buffer.
Definition: OrthancCPlugin.h:771
uint32_t groupsCount
The number of groups of the regular expression.
Definition: OrthancCPlugin.h:320
uint32_t bodySize
For a PUT or POST request, the number of bytes of the body.
Definition: OrthancCPlugin.h:350
struct _OrthancPluginWorklistAnswers_t OrthancPluginWorklistAnswers
Opaque structure to an object that represents the answers to a C-Find query.
Definition: OrthancCPlugin.h:820
void OrthancPluginSetCookie(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *cookie, const char *value)
Set a cookie.
Definition: OrthancCPlugin.h:1940
Definition: OrthancCPlugin.h:593
char * OrthancPluginGetInstanceJson(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the DICOM tag hierarchy as a JSON file.
Definition: OrthancCPlugin.h:2103
OrthancPluginErrorCode OrthancPluginRestApiPost(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri, const char *body, uint32_t bodySize)
Make a POST call to the built-in Orthanc REST API.
Definition: OrthancCPlugin.h:1470
void OrthancPluginRegisterOnStoredInstanceCallback(OrthancPluginContext *context, OrthancPluginOnStoredInstanceCallback callback)
Register a callback for received instances.
Definition: OrthancCPlugin.h:1243
Definition: OrthancCPlugin.h:595
void OrthancPluginRegisterRestCallback(OrthancPluginContext *context, const char *pathRegularExpression, OrthancPluginRestCallback callback)
Register a REST callback.
Definition: OrthancCPlugin.h:1181
char * OrthancPluginLookupStudyWithAccessionNumber(OrthancPluginContext *context, const char *accessionNumber)
Look for a study, using the accession number.
Definition: OrthancCPlugin.h:1749
OrthancPluginErrorCode OrthancPluginRestApiGetAfterPlugins(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri)
Make a GET call to the REST API, as tainted by the plugins.
Definition: OrthancCPlugin.h:1434
OrthancPluginErrorCode(* OrthancPluginOnStoredInstanceCallback)(OrthancPluginDicomInstance *instance, const char *instanceId)
Signature of a callback function that is triggered when Orthanc receives a DICOM instance.
Definition: OrthancCPlugin.h:839
OrthancPluginErrorCode OrthancPluginRestApiPostAfterPlugins(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri, const char *body, uint32_t bodySize)
Make a POST call to the REST API, as tainted by the plugins.
Definition: OrthancCPlugin.h:1504
Definition: OrthancCPlugin.h:600
Definition: OrthancCPlugin.h:618
OrthancPluginHttpMethod method
The HTTP method.
Definition: OrthancCPlugin.h:315
OrthancPluginErrorCode OrthancPluginStorageAreaCreate(OrthancPluginContext *context, OrthancPluginStorageArea *storageArea, const char *uuid, const void *content, uint64_t size, OrthancPluginContentType type)
Create a file inside the storage area.
Definition: OrthancCPlugin.h:3757
A memory buffer allocated by the core system of Orthanc.
Definition: OrthancCPlugin.h:761
char * OrthancPluginLookupSeries(OrthancPluginContext *context, const char *seriesUID)
Look for a series.
Definition: OrthancCPlugin.h:1784
uint32_t OrthancPluginGetImageWidth(OrthancPluginContext *context, const OrthancPluginImage *image)
Return the width of an image.
Definition: OrthancCPlugin.h:3016
OrthancPluginErrorCode OrthancPluginCompressJpegImage(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, OrthancPluginPixelFormat format, uint32_t width, uint32_t height, uint32_t pitch, const void *buffer, uint8_t quality)
Encode a JPEG image.
Definition: OrthancCPlugin.h:3293
OrthancPluginErrorCode OrthancPluginWorklistGetDicomQuery(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const OrthancPluginWorklistQuery *query)
Retrieve the worklist query as a DICOM file.
Definition: OrthancCPlugin.h:4306