113 #define ORTHANC_PLUGINS_API __declspec(dllexport) 115 #define ORTHANC_PLUGINS_API 118 #define ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER 1 119 #define ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER 1 120 #define ORTHANC_PLUGINS_MINIMAL_REVISION_NUMBER 0 138 #ifndef ORTHANC_PLUGIN_INLINE 139 # if __STDC_VERSION__ >= 199901L 141 # define ORTHANC_PLUGIN_INLINE static inline 142 # elif defined(__cplusplus) 144 # define ORTHANC_PLUGIN_INLINE static inline 145 # elif defined(__GNUC__) 147 # define ORTHANC_PLUGIN_INLINE static __inline 148 # elif defined(_MSC_VER) 150 # define ORTHANC_PLUGIN_INLINE static __inline 152 # error Your compiler is not known to support the "inline" keyword 285 _OrthancPluginErrorCode_INTERNAL = 0x7fffffff
293 ORTHANC_PLUGINS_API
const char* OrthancPluginGetName();
306 _OrthancPluginHttpMethod_INTERNAL = 0x7fffffff
382 _OrthancPluginService_LogInfo = 1,
383 _OrthancPluginService_LogWarning = 2,
384 _OrthancPluginService_LogError = 3,
385 _OrthancPluginService_GetOrthancPath = 4,
386 _OrthancPluginService_GetOrthancDirectory = 5,
387 _OrthancPluginService_GetConfigurationPath = 6,
388 _OrthancPluginService_SetPluginProperty = 7,
389 _OrthancPluginService_GetGlobalProperty = 8,
390 _OrthancPluginService_SetGlobalProperty = 9,
391 _OrthancPluginService_GetCommandLineArgumentsCount = 10,
392 _OrthancPluginService_GetCommandLineArgument = 11,
393 _OrthancPluginService_GetExpectedDatabaseVersion = 12,
394 _OrthancPluginService_GetConfiguration = 13,
395 _OrthancPluginService_BufferCompression = 14,
396 _OrthancPluginService_ReadFile = 15,
397 _OrthancPluginService_WriteFile = 16,
398 _OrthancPluginService_GetErrorDescription = 17,
399 _OrthancPluginService_CallHttpClient = 18,
400 _OrthancPluginService_RegisterErrorCode = 19,
401 _OrthancPluginService_RegisterDictionaryTag = 20,
402 _OrthancPluginService_DicomBufferToJson = 21,
403 _OrthancPluginService_DicomInstanceToJson = 22,
404 _OrthancPluginService_CreateDicom = 23,
405 _OrthancPluginService_ComputeMd5 = 24,
406 _OrthancPluginService_ComputeSha1 = 25,
407 _OrthancPluginService_LookupDictionary = 26,
408 _OrthancPluginService_CallHttpClient2 = 27,
409 _OrthancPluginService_GenerateUuid = 28,
412 _OrthancPluginService_RegisterRestCallback = 1000,
413 _OrthancPluginService_RegisterOnStoredInstanceCallback = 1001,
414 _OrthancPluginService_RegisterStorageArea = 1002,
415 _OrthancPluginService_RegisterOnChangeCallback = 1003,
416 _OrthancPluginService_RegisterRestCallbackNoLock = 1004,
417 _OrthancPluginService_RegisterWorklistCallback = 1005,
418 _OrthancPluginService_RegisterDecodeImageCallback = 1006,
419 _OrthancPluginService_RegisterIncomingHttpRequestFilter = 1007,
420 _OrthancPluginService_RegisterFindCallback = 1008,
421 _OrthancPluginService_RegisterMoveCallback = 1009,
424 _OrthancPluginService_AnswerBuffer = 2000,
425 _OrthancPluginService_CompressAndAnswerPngImage = 2001,
426 _OrthancPluginService_Redirect = 2002,
427 _OrthancPluginService_SendHttpStatusCode = 2003,
428 _OrthancPluginService_SendUnauthorized = 2004,
429 _OrthancPluginService_SendMethodNotAllowed = 2005,
430 _OrthancPluginService_SetCookie = 2006,
431 _OrthancPluginService_SetHttpHeader = 2007,
432 _OrthancPluginService_StartMultipartAnswer = 2008,
433 _OrthancPluginService_SendMultipartItem = 2009,
434 _OrthancPluginService_SendHttpStatus = 2010,
435 _OrthancPluginService_CompressAndAnswerImage = 2011,
436 _OrthancPluginService_SendMultipartItem2 = 2012,
439 _OrthancPluginService_GetDicomForInstance = 3000,
440 _OrthancPluginService_RestApiGet = 3001,
441 _OrthancPluginService_RestApiPost = 3002,
442 _OrthancPluginService_RestApiDelete = 3003,
443 _OrthancPluginService_RestApiPut = 3004,
444 _OrthancPluginService_LookupPatient = 3005,
445 _OrthancPluginService_LookupStudy = 3006,
446 _OrthancPluginService_LookupSeries = 3007,
447 _OrthancPluginService_LookupInstance = 3008,
448 _OrthancPluginService_LookupStudyWithAccessionNumber = 3009,
449 _OrthancPluginService_RestApiGetAfterPlugins = 3010,
450 _OrthancPluginService_RestApiPostAfterPlugins = 3011,
451 _OrthancPluginService_RestApiDeleteAfterPlugins = 3012,
452 _OrthancPluginService_RestApiPutAfterPlugins = 3013,
453 _OrthancPluginService_ReconstructMainDicomTags = 3014,
454 _OrthancPluginService_RestApiGet2 = 3015,
457 _OrthancPluginService_GetInstanceRemoteAet = 4000,
458 _OrthancPluginService_GetInstanceSize = 4001,
459 _OrthancPluginService_GetInstanceData = 4002,
460 _OrthancPluginService_GetInstanceJson = 4003,
461 _OrthancPluginService_GetInstanceSimplifiedJson = 4004,
462 _OrthancPluginService_HasInstanceMetadata = 4005,
463 _OrthancPluginService_GetInstanceMetadata = 4006,
464 _OrthancPluginService_GetInstanceOrigin = 4007,
467 _OrthancPluginService_RegisterDatabaseBackend = 5000,
468 _OrthancPluginService_DatabaseAnswer = 5001,
469 _OrthancPluginService_RegisterDatabaseBackendV2 = 5002,
470 _OrthancPluginService_StorageAreaCreate = 5003,
471 _OrthancPluginService_StorageAreaRead = 5004,
472 _OrthancPluginService_StorageAreaRemove = 5005,
475 _OrthancPluginService_GetImagePixelFormat = 6000,
476 _OrthancPluginService_GetImageWidth = 6001,
477 _OrthancPluginService_GetImageHeight = 6002,
478 _OrthancPluginService_GetImagePitch = 6003,
479 _OrthancPluginService_GetImageBuffer = 6004,
480 _OrthancPluginService_UncompressImage = 6005,
481 _OrthancPluginService_FreeImage = 6006,
482 _OrthancPluginService_CompressImage = 6007,
483 _OrthancPluginService_ConvertPixelFormat = 6008,
484 _OrthancPluginService_GetFontsCount = 6009,
485 _OrthancPluginService_GetFontInfo = 6010,
486 _OrthancPluginService_DrawText = 6011,
487 _OrthancPluginService_CreateImage = 6012,
488 _OrthancPluginService_CreateImageAccessor = 6013,
489 _OrthancPluginService_DecodeDicomImage = 6014,
492 _OrthancPluginService_WorklistAddAnswer = 7000,
493 _OrthancPluginService_WorklistMarkIncomplete = 7001,
494 _OrthancPluginService_WorklistIsMatch = 7002,
495 _OrthancPluginService_WorklistGetDicomQuery = 7003,
496 _OrthancPluginService_FindAddAnswer = 7004,
497 _OrthancPluginService_FindMarkIncomplete = 7005,
498 _OrthancPluginService_GetFindQuerySize = 7006,
499 _OrthancPluginService_GetFindQueryTag = 7007,
500 _OrthancPluginService_GetFindQueryTagName = 7008,
501 _OrthancPluginService_GetFindQueryValue = 7009,
503 _OrthancPluginService_INTERNAL = 0x7fffffff
504 } _OrthancPluginService;
509 _OrthancPluginProperty_Description = 1,
510 _OrthancPluginProperty_RootUri = 2,
511 _OrthancPluginProperty_OrthancExplorer = 3,
513 _OrthancPluginProperty_INTERNAL = 0x7fffffff
514 } _OrthancPluginProperty;
566 _OrthancPluginPixelFormat_INTERNAL = 0x7fffffff
580 _OrthancPluginContentType_INTERNAL = 0x7fffffff
596 _OrthancPluginResourceType_INTERNAL = 0x7fffffff
622 _OrthancPluginChangeType_INTERNAL = 0x7fffffff
637 _OrthancPluginCompressionType_INTERNAL = 0x7fffffff
651 _OrthancPluginImageFormat_INTERNAL = 0x7fffffff
689 _OrthancPluginValueRepresentation_INTERNAL = 0x7fffffff
704 _OrthancPluginDicomToJsonFormat_INTERNAL = 0x7fffffff
722 _OrthancPluginDicomToJsonFlags_INTERNAL = 0x7fffffff
736 _OrthancPluginCreateDicomFlags_INTERNAL = 0x7fffffff
751 _OrthancPluginIdentifierConstraint_INTERNAL = 0x7fffffff
766 _OrthancPluginInstanceOrigin_INTERNAL = 0x7fffffff
873 const char* instanceId);
884 const char* resourceId);
896 uint32_t frameIndex);
979 const char* issuerAet,
980 const char* calledAet);
1006 uint32_t headersCount,
1007 const char*
const* headersKeys,
1008 const char*
const* headersValues);
1029 const char* issuerAet,
1030 const char* calledAet);
1067 typedef void* (*OrthancPluginMoveCallback) (
1069 const char* patientId,
1070 const char* accessionNumber,
1071 const char* studyInstanceUid,
1072 const char* seriesInstanceUid,
1073 const char* sopInstanceUid,
1074 const char* issuerAet,
1075 const char* sourceAet,
1076 const char* targetAet,
1077 uint16_t moveOriginatorId);
1125 typedef struct _OrthancPluginContext_t
1127 void* pluginsManager;
1128 const char* orthancVersion;
1131 _OrthancPluginService service,
1132 const void* params);
1186 int major, minor, revision;
1190 sizeof(int32_t) !=
sizeof(_OrthancPluginService) ||
1191 sizeof(int32_t) !=
sizeof(_OrthancPluginProperty) ||
1210 if (!strcmp(context->orthancVersion,
"mainline"))
1222 (context->orthancVersion,
"%4d.%4d.%4d", &major, &minor, &revision) != 3)
1229 if (major > ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER)
1234 if (major < ORTHANC_PLUGINS_MINIMAL_MAJOR_NUMBER)
1241 if (minor > ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER)
1246 if (minor < ORTHANC_PLUGINS_MINIMAL_MINOR_NUMBER)
1253 if (revision >= ORTHANC_PLUGINS_MINIMAL_REVISION_NUMBER)
1276 context->Free(buffer->
data);
1290 const char* message)
1292 context->InvokeService(context, _OrthancPluginService_LogError, message);
1306 const char* message)
1308 context->InvokeService(context, _OrthancPluginService_LogWarning, message);
1322 const char* message)
1324 context->InvokeService(context, _OrthancPluginService_LogInfo, message);
1331 const char* pathRegularExpression;
1333 } _OrthancPluginRestCallback;
1353 const char* pathRegularExpression,
1356 _OrthancPluginRestCallback params;
1357 params.pathRegularExpression = pathRegularExpression;
1358 params.callback = callback;
1359 context->InvokeService(context, _OrthancPluginService_RegisterRestCallback, ¶ms);
1387 const char* pathRegularExpression,
1390 _OrthancPluginRestCallback params;
1391 params.pathRegularExpression = pathRegularExpression;
1392 params.callback = callback;
1393 context->InvokeService(context, _OrthancPluginService_RegisterRestCallbackNoLock, ¶ms);
1401 } _OrthancPluginOnStoredInstanceCallback;
1417 _OrthancPluginOnStoredInstanceCallback params;
1418 params.callback = callback;
1420 context->InvokeService(context, _OrthancPluginService_RegisterOnStoredInstanceCallback, ¶ms);
1429 uint32_t answerSize;
1430 const char* mimeType;
1431 } _OrthancPluginAnswerBuffer;
1449 uint32_t answerSize,
1450 const char* mimeType)
1452 _OrthancPluginAnswerBuffer params;
1453 params.output = output;
1454 params.answer = answer;
1455 params.answerSize = answerSize;
1456 params.mimeType = mimeType;
1457 context->InvokeService(context, _OrthancPluginService_AnswerBuffer, ¶ms);
1469 } _OrthancPluginCompressAndAnswerPngImage;
1481 } _OrthancPluginCompressAndAnswerImage;
1511 _OrthancPluginCompressAndAnswerImage params;
1512 params.output = output;
1514 params.pixelFormat = format;
1515 params.width = width;
1516 params.height = height;
1517 params.pitch = pitch;
1518 params.buffer = buffer;
1520 context->InvokeService(context, _OrthancPluginService_CompressAndAnswerImage, ¶ms);
1528 const char* instanceId;
1529 } _OrthancPluginGetDicomForInstance;
1546 const char* instanceId)
1548 _OrthancPluginGetDicomForInstance params;
1549 params.target = target;
1550 params.instanceId = instanceId;
1551 return context->InvokeService(context, _OrthancPluginService_GetDicomForInstance, ¶ms);
1560 } _OrthancPluginRestApiGet;
1581 _OrthancPluginRestApiGet params;
1582 params.target = target;
1584 return context->InvokeService(context, _OrthancPluginService_RestApiGet, ¶ms);
1611 _OrthancPluginRestApiGet params;
1612 params.target = target;
1614 return context->InvokeService(context, _OrthancPluginService_RestApiGetAfterPlugins, ¶ms);
1625 } _OrthancPluginRestApiPostPut;
1650 _OrthancPluginRestApiPostPut params;
1651 params.target = target;
1654 params.bodySize = bodySize;
1655 return context->InvokeService(context, _OrthancPluginService_RestApiPost, ¶ms);
1685 _OrthancPluginRestApiPostPut params;
1686 params.target = target;
1689 params.bodySize = bodySize;
1690 return context->InvokeService(context, _OrthancPluginService_RestApiPostAfterPlugins, ¶ms);
1711 return context->InvokeService(context, _OrthancPluginService_RestApiDelete, uri);
1734 return context->InvokeService(context, _OrthancPluginService_RestApiDeleteAfterPlugins, uri);
1762 _OrthancPluginRestApiPostPut params;
1763 params.target = target;
1766 params.bodySize = bodySize;
1767 return context->InvokeService(context, _OrthancPluginService_RestApiPut, ¶ms);
1798 _OrthancPluginRestApiPostPut params;
1799 params.target = target;
1802 params.bodySize = bodySize;
1803 return context->InvokeService(context, _OrthancPluginService_RestApiPutAfterPlugins, ¶ms);
1811 const char* argument;
1812 } _OrthancPluginOutputPlusArgument;
1828 const char* redirection)
1830 _OrthancPluginOutputPlusArgument params;
1831 params.output = output;
1832 params.argument = redirection;
1833 context->InvokeService(context, _OrthancPluginService_Redirect, ¶ms);
1841 const char* argument;
1842 } _OrthancPluginRetrieveDynamicString;
1859 const char* patientID)
1863 _OrthancPluginRetrieveDynamicString params;
1864 params.result = &result;
1865 params.argument = patientID;
1894 const char* studyUID)
1898 _OrthancPluginRetrieveDynamicString params;
1899 params.result = &result;
1900 params.argument = studyUID;
1929 const char* accessionNumber)
1933 _OrthancPluginRetrieveDynamicString params;
1934 params.result = &result;
1935 params.argument = accessionNumber;
1964 const char* seriesUID)
1968 _OrthancPluginRetrieveDynamicString params;
1969 params.result = &result;
1970 params.argument = seriesUID;
1999 const char* sopInstanceUID)
2003 _OrthancPluginRetrieveDynamicString params;
2004 params.result = &result;
2005 params.argument = sopInstanceUID;
2024 } _OrthancPluginSendHttpStatusCode;
2047 _OrthancPluginSendHttpStatusCode params;
2048 params.output = output;
2049 params.status = status;
2050 context->InvokeService(context, _OrthancPluginService_SendHttpStatusCode, ¶ms);
2070 _OrthancPluginOutputPlusArgument params;
2071 params.output = output;
2072 params.argument = realm;
2073 context->InvokeService(context, _OrthancPluginService_SendUnauthorized, ¶ms);
2091 const char* allowedMethods)
2093 _OrthancPluginOutputPlusArgument params;
2094 params.output = output;
2095 params.argument = allowedMethods;
2096 context->InvokeService(context, _OrthancPluginService_SendMethodNotAllowed, ¶ms);
2105 } _OrthancPluginSetHttpHeader;
2124 _OrthancPluginSetHttpHeader params;
2125 params.output = output;
2126 params.key = cookie;
2127 params.value = value;
2128 context->InvokeService(context, _OrthancPluginService_SetCookie, ¶ms);
2149 _OrthancPluginSetHttpHeader params;
2150 params.output = output;
2152 params.value = value;
2153 context->InvokeService(context, _OrthancPluginService_SetHttpHeader, ¶ms);
2159 char** resultStringToFree;
2160 const char** resultString;
2161 int64_t* resultInt64;
2165 } _OrthancPluginAccessDicomInstance;
2185 _OrthancPluginAccessDicomInstance params;
2186 memset(¶ms, 0,
sizeof(params));
2187 params.resultString = &result;
2188 params.instance = instance;
2218 _OrthancPluginAccessDicomInstance params;
2219 memset(¶ms, 0,
sizeof(params));
2220 params.resultInt64 = &size;
2221 params.instance = instance;
2251 _OrthancPluginAccessDicomInstance params;
2252 memset(¶ms, 0,
sizeof(params));
2253 params.resultString = &result;
2254 params.instance = instance;
2287 _OrthancPluginAccessDicomInstance params;
2288 memset(¶ms, 0,
sizeof(params));
2289 params.resultStringToFree = &result;
2290 params.instance = instance;
2325 _OrthancPluginAccessDicomInstance params;
2326 memset(¶ms, 0,
sizeof(params));
2327 params.resultStringToFree = &result;
2328 params.instance = instance;
2361 const char* metadata)
2365 _OrthancPluginAccessDicomInstance params;
2366 memset(¶ms, 0,
sizeof(params));
2367 params.resultInt64 = &result;
2368 params.instance = instance;
2369 params.key = metadata;
2378 return (result != 0);
2399 const char* metadata)
2403 _OrthancPluginAccessDicomInstance params;
2404 memset(¶ms, 0,
sizeof(params));
2405 params.resultString = &result;
2406 params.instance = instance;
2407 params.key = metadata;
2428 } _OrthancPluginRegisterStorageArea;
2450 _OrthancPluginRegisterStorageArea params;
2451 params.create = create;
2453 params.remove =
remove;
2456 params.free = ::free;
2461 context->InvokeService(context, _OrthancPluginService_RegisterStorageArea, ¶ms);
2480 _OrthancPluginRetrieveDynamicString params;
2481 params.result = &result;
2482 params.argument = NULL;
2510 _OrthancPluginRetrieveDynamicString params;
2511 params.result = &result;
2512 params.argument = NULL;
2545 _OrthancPluginRetrieveDynamicString params;
2546 params.result = &result;
2547 params.argument = NULL;
2565 } _OrthancPluginOnChangeCallback;
2587 _OrthancPluginOnChangeCallback params;
2588 params.callback = callback;
2590 context->InvokeService(context, _OrthancPluginService_RegisterOnChangeCallback, ¶ms);
2598 _OrthancPluginProperty property;
2600 } _OrthancPluginSetPluginProperty;
2618 _OrthancPluginSetPluginProperty params;
2619 params.plugin = OrthancPluginGetName();
2620 params.property = _OrthancPluginProperty_RootUri;
2623 context->InvokeService(context, _OrthancPluginService_SetPluginProperty, ¶ms);
2638 const char* description)
2640 _OrthancPluginSetPluginProperty params;
2641 params.plugin = OrthancPluginGetName();
2642 params.property = _OrthancPluginProperty_Description;
2643 params.value = description;
2645 context->InvokeService(context, _OrthancPluginService_SetPluginProperty, ¶ms);
2660 const char* javascript)
2662 _OrthancPluginSetPluginProperty params;
2663 params.plugin = OrthancPluginGetName();
2664 params.property = _OrthancPluginProperty_OrthancExplorer;
2665 params.value = javascript;
2667 context->InvokeService(context, _OrthancPluginService_SetPluginProperty, ¶ms);
2676 } _OrthancPluginGlobalProperty;
2695 const char* defaultValue)
2699 _OrthancPluginGlobalProperty params;
2700 params.result = &result;
2701 params.property = property;
2702 params.value = defaultValue;
2736 _OrthancPluginGlobalProperty params;
2737 params.result = NULL;
2738 params.property = property;
2739 params.value = value;
2741 return context->InvokeService(context, _OrthancPluginService_SetGlobalProperty, ¶ms);
2748 int32_t *resultInt32;
2749 uint32_t *resultUint32;
2750 int64_t *resultInt64;
2751 uint64_t *resultUint64;
2752 } _OrthancPluginReturnSingleValue;
2767 _OrthancPluginReturnSingleValue params;
2768 memset(¶ms, 0,
sizeof(params));
2769 params.resultUint32 = &count;
2802 _OrthancPluginGlobalProperty params;
2803 params.result = &result;
2804 params.property = (int32_t) argument;
2805 params.value = NULL;
2834 _OrthancPluginReturnSingleValue params;
2835 memset(¶ms, 0,
sizeof(params));
2836 params.resultUint32 = &count;
2866 _OrthancPluginRetrieveDynamicString params;
2867 params.result = &result;
2868 params.argument = NULL;
2886 const char* subType;
2887 const char* contentType;
2888 } _OrthancPluginStartMultipartAnswer;
2906 const char* subType,
2907 const char* contentType)
2909 _OrthancPluginStartMultipartAnswer params;
2910 params.output = output;
2911 params.subType = subType;
2912 params.contentType = contentType;
2913 return context->InvokeService(context, _OrthancPluginService_StartMultipartAnswer, ¶ms);
2936 uint32_t answerSize)
2938 _OrthancPluginAnswerBuffer params;
2939 params.output = output;
2940 params.answer = answer;
2941 params.answerSize = answerSize;
2942 params.mimeType = NULL;
2943 return context->InvokeService(context, _OrthancPluginService_SendMultipartItem, ¶ms);
2955 } _OrthancPluginBufferCompression;
2982 _OrthancPluginBufferCompression params;
2983 params.target = target;
2984 params.source = source;
2986 params.compression = compression;
2987 params.uncompress = uncompress;
2989 return context->InvokeService(context, _OrthancPluginService_BufferCompression, ¶ms);
2998 } _OrthancPluginReadFile;
3016 _OrthancPluginReadFile params;
3017 params.target = target;
3019 return context->InvokeService(context, _OrthancPluginService_ReadFile, ¶ms);
3029 } _OrthancPluginWriteFile;
3048 _OrthancPluginWriteFile params;
3052 return context->InvokeService(context, _OrthancPluginService_WriteFile, ¶ms);
3059 const char** target;
3061 } _OrthancPluginGetErrorDescription;
3077 const char* result = NULL;
3079 _OrthancPluginGetErrorDescription params;
3080 params.target = &result;
3081 params.error = error;
3086 return "Unknown error code";
3102 } _OrthancPluginSendHttpStatus;
3133 _OrthancPluginSendHttpStatus params;
3134 params.output = output;
3135 params.status = status;
3137 params.bodySize = bodySize;
3138 context->InvokeService(context, _OrthancPluginService_SendHttpStatus, ¶ms);
3146 uint32_t* resultUint32;
3148 void** resultBuffer;
3149 } _OrthancPluginGetImageInfo;
3168 _OrthancPluginGetImageInfo params;
3169 memset(¶ms, 0,
sizeof(params));
3170 params.image = image;
3171 params.resultPixelFormat = ⌖
3201 _OrthancPluginGetImageInfo params;
3202 memset(¶ms, 0,
sizeof(params));
3203 params.image = image;
3204 params.resultUint32 = &width;
3234 _OrthancPluginGetImageInfo params;
3235 memset(¶ms, 0,
sizeof(params));
3236 params.image = image;
3237 params.resultUint32 = &height;
3269 _OrthancPluginGetImageInfo params;
3270 memset(¶ms, 0,
sizeof(params));
3271 params.image = image;
3272 params.resultUint32 = &pitch;
3301 void* target = NULL;
3303 _OrthancPluginGetImageInfo params;
3304 memset(¶ms, 0,
sizeof(params));
3305 params.resultBuffer = ⌖
3306 params.image = image;
3325 } _OrthancPluginUncompressImage;
3348 _OrthancPluginUncompressImage params;
3349 memset(¶ms, 0,
sizeof(params));
3350 params.target = ⌖
3353 params.format = format;
3371 } _OrthancPluginFreeImage;
3386 _OrthancPluginFreeImage params;
3387 params.image = image;
3389 context->InvokeService(context, _OrthancPluginService_FreeImage, ¶ms);
3405 } _OrthancPluginCompressImage;
3436 _OrthancPluginCompressImage params;
3437 memset(¶ms, 0,
sizeof(params));
3438 params.target = target;
3440 params.pixelFormat = format;
3441 params.width = width;
3442 params.height = height;
3443 params.pitch = pitch;
3444 params.buffer = buffer;
3447 return context->InvokeService(context, _OrthancPluginService_CompressImage, ¶ms);
3482 _OrthancPluginCompressImage params;
3483 memset(¶ms, 0,
sizeof(params));
3484 params.target = target;
3486 params.pixelFormat = format;
3487 params.width = width;
3488 params.height = height;
3489 params.pitch = pitch;
3490 params.buffer = buffer;
3491 params.quality = quality;
3493 return context->InvokeService(context, _OrthancPluginService_CompressImage, ¶ms);
3529 _OrthancPluginCompressAndAnswerImage params;
3530 params.output = output;
3532 params.pixelFormat = format;
3533 params.width = width;
3534 params.height = height;
3535 params.pitch = pitch;
3536 params.buffer = buffer;
3537 params.quality = quality;
3538 context->InvokeService(context, _OrthancPluginService_CompressAndAnswerImage, ¶ms);
3549 const char* username;
3550 const char* password;
3553 } _OrthancPluginCallHttpClient;
3575 const char* username,
3576 const char* password)
3578 _OrthancPluginCallHttpClient params;
3579 memset(¶ms, 0,
sizeof(params));
3581 params.target = target;
3584 params.username = username;
3585 params.password = password;
3587 return context->InvokeService(context, _OrthancPluginService_CallHttpClient, ¶ms);
3614 const char* username,
3615 const char* password)
3617 _OrthancPluginCallHttpClient params;
3618 memset(¶ms, 0,
sizeof(params));
3620 params.target = target;
3624 params.bodySize = bodySize;
3625 params.username = username;
3626 params.password = password;
3628 return context->InvokeService(context, _OrthancPluginService_CallHttpClient, ¶ms);
3655 const char* username,
3656 const char* password)
3658 _OrthancPluginCallHttpClient params;
3659 memset(¶ms, 0,
sizeof(params));
3661 params.target = target;
3665 params.bodySize = bodySize;
3666 params.username = username;
3667 params.password = password;
3669 return context->InvokeService(context, _OrthancPluginService_CallHttpClient, ¶ms);
3689 const char* username,
3690 const char* password)
3692 _OrthancPluginCallHttpClient params;
3693 memset(¶ms, 0,
sizeof(params));
3697 params.username = username;
3698 params.password = password;
3700 return context->InvokeService(context, _OrthancPluginService_CallHttpClient, ¶ms);
3710 } _OrthancPluginConvertPixelFormat;
3731 _OrthancPluginConvertPixelFormat params;
3732 params.target = ⌖
3733 params.source = source;
3734 params.targetFormat = targetFormat;
3764 _OrthancPluginReturnSingleValue params;
3765 memset(¶ms, 0,
sizeof(params));
3766 params.resultUint32 = &count;
3787 } _OrthancPluginGetFontInfo;
3803 const char* result = NULL;
3805 _OrthancPluginGetFontInfo params;
3806 memset(¶ms, 0,
sizeof(params));
3807 params.name = &result;
3808 params.fontIndex = fontIndex;
3837 _OrthancPluginGetFontInfo params;
3838 memset(¶ms, 0,
sizeof(params));
3839 params.size = &result;
3840 params.fontIndex = fontIndex;
3858 const char* utf8Text;
3864 } _OrthancPluginDrawText;
3888 const char* utf8Text,
3895 _OrthancPluginDrawText params;
3896 memset(¶ms, 0,
sizeof(params));
3897 params.image = image;
3898 params.fontIndex = fontIndex;
3899 params.utf8Text = utf8Text;
3906 return context->InvokeService(context, _OrthancPluginService_DrawText, ¶ms);
3915 const void* content;
3918 } _OrthancPluginStorageAreaCreate;
3940 const void* content,
3944 _OrthancPluginStorageAreaCreate params;
3945 params.storageArea = storageArea;
3947 params.content = content;
3951 return context->InvokeService(context, _OrthancPluginService_StorageAreaCreate, ¶ms);
3961 } _OrthancPluginStorageAreaRead;
3985 _OrthancPluginStorageAreaRead params;
3986 params.target = target;
3987 params.storageArea = storageArea;
3991 return context->InvokeService(context, _OrthancPluginService_StorageAreaRead, ¶ms);
4000 } _OrthancPluginStorageAreaRemove;
4021 _OrthancPluginStorageAreaRemove params;
4022 params.storageArea = storageArea;
4026 return context->InvokeService(context, _OrthancPluginService_StorageAreaRemove, ¶ms);
4035 uint16_t httpStatus;
4036 const char* message;
4037 } _OrthancPluginRegisterErrorCode;
4057 uint16_t httpStatus,
4058 const char* message)
4062 _OrthancPluginRegisterErrorCode params;
4063 params.target = ⌖
4065 params.httpStatus = httpStatus;
4066 params.message = message;
4087 uint32_t minMultiplicity;
4088 uint32_t maxMultiplicity;
4089 } _OrthancPluginRegisterDictionaryTag;
4115 uint32_t minMultiplicity,
4116 uint32_t maxMultiplicity)
4118 _OrthancPluginRegisterDictionaryTag params;
4119 params.group = group;
4120 params.element = element;
4123 params.minMultiplicity = minMultiplicity;
4124 params.maxMultiplicity = maxMultiplicity;
4126 return context->InvokeService(context, _OrthancPluginService_RegisterDictionaryTag, ¶ms);
4136 } _OrthancPluginReconstructMainDicomTags;
4159 _OrthancPluginReconstructMainDicomTags params;
4160 params.level = level;
4161 params.storageArea = storageArea;
4163 return context->InvokeService(context, _OrthancPluginService_ReconstructMainDicomTags, ¶ms);
4170 const char* instanceId;
4175 uint32_t maxStringLength;
4176 } _OrthancPluginDicomToJson;
4204 uint32_t maxStringLength)
4208 _OrthancPluginDicomToJson params;
4209 memset(¶ms, 0,
sizeof(params));
4210 params.result = &result;
4211 params.buffer = buffer;
4213 params.format = format;
4214 params.flags = flags;
4215 params.maxStringLength = maxStringLength;
4249 const char* instanceId,
4252 uint32_t maxStringLength)
4256 _OrthancPluginDicomToJson params;
4257 memset(¶ms, 0,
sizeof(params));
4258 params.result = &result;
4259 params.instanceId = instanceId;
4260 params.format = format;
4261 params.flags = flags;
4262 params.maxStringLength = maxStringLength;
4280 uint32_t headersCount;
4281 const char*
const* headersKeys;
4282 const char*
const* headersValues;
4283 int32_t afterPlugins;
4284 } _OrthancPluginRestApiGet2;
4309 uint32_t headersCount,
4310 const char*
const* headersKeys,
4311 const char*
const* headersValues,
4312 int32_t afterPlugins)
4314 _OrthancPluginRestApiGet2 params;
4315 params.target = target;
4317 params.headersCount = headersCount;
4318 params.headersKeys = headersKeys;
4319 params.headersValues = headersValues;
4320 params.afterPlugins = afterPlugins;
4322 return context->InvokeService(context, _OrthancPluginService_RestApiGet2, ¶ms);
4330 } _OrthancPluginWorklistCallback;
4347 _OrthancPluginWorklistCallback params;
4348 params.callback = callback;
4350 return context->InvokeService(context, _OrthancPluginService_RegisterWorklistCallback, ¶ms);
4361 } _OrthancPluginWorklistAnswersOperation;
4386 _OrthancPluginWorklistAnswersOperation params;
4387 params.answers = answers;
4388 params.query = query;
4389 params.dicom = dicom;
4392 return context->InvokeService(context, _OrthancPluginService_WorklistAddAnswer, ¶ms);
4413 _OrthancPluginWorklistAnswersOperation params;
4414 params.answers = answers;
4415 params.query = NULL;
4416 params.dicom = NULL;
4419 return context->InvokeService(context, _OrthancPluginService_WorklistMarkIncomplete, ¶ms);
4430 } _OrthancPluginWorklistQueryOperation;
4453 int32_t isMatch = 0;
4455 _OrthancPluginWorklistQueryOperation params;
4456 params.query = query;
4457 params.dicom = dicom;
4459 params.isMatch = &isMatch;
4460 params.target = NULL;
4491 _OrthancPluginWorklistQueryOperation params;
4492 params.query = query;
4493 params.dicom = NULL;
4495 params.isMatch = NULL;
4496 params.target = target;
4498 return context->InvokeService(context, _OrthancPluginService_WorklistGetDicomQuery, ¶ms);
4518 _OrthancPluginAccessDicomInstance params;
4519 memset(¶ms, 0,
sizeof(params));
4520 params.resultOrigin = &origin;
4521 params.instance = instance;
4541 } _OrthancPluginCreateDicom;
4568 _OrthancPluginCreateDicom params;
4569 params.target = target;
4571 params.pixelData = pixelData;
4572 params.flags = flags;
4574 return context->InvokeService(context, _OrthancPluginService_CreateDicom, ¶ms);
4581 } _OrthancPluginDecodeImageCallback;
4598 _OrthancPluginDecodeImageCallback params;
4599 params.callback = callback;
4601 return context->InvokeService(context, _OrthancPluginService_RegisterDecodeImageCallback, ¶ms);
4614 const void* constBuffer;
4615 uint32_t bufferSize;
4616 uint32_t frameIndex;
4617 } _OrthancPluginCreateImage;
4640 _OrthancPluginCreateImage params;
4641 memset(¶ms, 0,
sizeof(params));
4642 params.target = ⌖
4643 params.format = format;
4644 params.width = width;
4645 params.height = height;
4685 _OrthancPluginCreateImage params;
4686 memset(¶ms, 0,
sizeof(params));
4687 params.target = ⌖
4688 params.format = format;
4689 params.width = width;
4690 params.height = height;
4691 params.pitch = pitch;
4692 params.buffer = buffer;
4723 uint32_t bufferSize,
4724 uint32_t frameIndex)
4728 _OrthancPluginCreateImage params;
4729 memset(¶ms, 0,
sizeof(params));
4730 params.target = ⌖
4731 params.constBuffer = buffer;
4732 params.bufferSize = bufferSize;
4733 params.frameIndex = frameIndex;
4752 } _OrthancPluginComputeHash;
4773 _OrthancPluginComputeHash params;
4774 params.result = &result;
4775 params.buffer = buffer;
4809 _OrthancPluginComputeHash params;
4810 params.result = &result;
4811 params.buffer = buffer;
4831 } _OrthancPluginLookupDictionary;
4853 _OrthancPluginLookupDictionary params;
4854 params.target = target;
4856 return context->InvokeService(context, _OrthancPluginService_LookupDictionary, ¶ms);
4865 uint32_t answerSize;
4866 uint32_t headersCount;
4867 const char*
const* headersKeys;
4868 const char*
const* headersValues;
4869 } _OrthancPluginSendMultipartItem2;
4895 uint32_t answerSize,
4896 uint32_t headersCount,
4897 const char*
const* headersKeys,
4898 const char*
const* headersValues)
4900 _OrthancPluginSendMultipartItem2 params;
4901 params.output = output;
4902 params.answer = answer;
4903 params.answerSize = answerSize;
4904 params.headersCount = headersCount;
4905 params.headersKeys = headersKeys;
4906 params.headersValues = headersValues;
4908 return context->InvokeService(context, _OrthancPluginService_SendMultipartItem2, ¶ms);
4915 } _OrthancPluginIncomingHttpRequestFilter;
4932 _OrthancPluginIncomingHttpRequestFilter params;
4933 params.callback = callback;
4935 return context->InvokeService(context, _OrthancPluginService_RegisterIncomingHttpRequestFilter, ¶ms);
4944 uint16_t* httpStatus;
4947 uint32_t headersCount;
4948 const char*
const* headersKeys;
4949 const char*
const* headersValues;
4952 const char* username;
4953 const char* password;
4955 const char* certificateFile;
4956 const char* certificateKeyFile;
4957 const char* certificateKeyPassword;
4959 } _OrthancPluginCallHttpClient2;
5004 uint16_t* httpStatus,
5007 uint32_t headersCount,
5008 const char*
const* headersKeys,
5009 const char*
const* headersValues,
5012 const char* username,
5013 const char* password,
5015 const char* certificateFile,
5016 const char* certificateKeyFile,
5017 const char* certificateKeyPassword,
5020 _OrthancPluginCallHttpClient2 params;
5021 memset(¶ms, 0,
sizeof(params));
5023 params.answerBody = answerBody;
5024 params.answerHeaders = answerHeaders;
5025 params.httpStatus = httpStatus;
5026 params.method = method;
5028 params.headersCount = headersCount;
5029 params.headersKeys = headersKeys;
5030 params.headersValues = headersValues;
5032 params.bodySize = bodySize;
5033 params.username = username;
5034 params.password = password;
5035 params.timeout = timeout;
5036 params.certificateFile = certificateFile;
5037 params.certificateKeyFile = certificateKeyFile;
5038 params.certificateKeyPassword = certificateKeyPassword;
5039 params.pkcs11 = pkcs11;
5041 return context->InvokeService(context, _OrthancPluginService_CallHttpClient2, ¶ms);
5060 _OrthancPluginRetrieveDynamicString params;
5061 params.result = &result;
5062 params.argument = NULL;
5081 } _OrthancPluginFindCallback;
5098 _OrthancPluginFindCallback params;
5099 params.callback = callback;
5101 return context->InvokeService(context, _OrthancPluginService_RegisterFindCallback, ¶ms);
5112 uint32_t *resultUint32;
5113 uint16_t *resultGroup;
5114 uint16_t *resultElement;
5115 char **resultString;
5116 } _OrthancPluginFindOperation;
5139 _OrthancPluginFindOperation params;
5140 memset(¶ms, 0,
sizeof(params));
5141 params.answers = answers;
5142 params.dicom = dicom;
5145 return context->InvokeService(context, _OrthancPluginService_FindAddAnswer, ¶ms);
5166 _OrthancPluginFindOperation params;
5167 memset(¶ms, 0,
sizeof(params));
5168 params.answers = answers;
5170 return context->InvokeService(context, _OrthancPluginService_FindMarkIncomplete, ¶ms);
5192 _OrthancPluginFindOperation params;
5193 memset(¶ms, 0,
sizeof(params));
5194 params.query = query;
5195 params.resultUint32 = &count;
5230 _OrthancPluginFindOperation params;
5231 memset(¶ms, 0,
sizeof(params));
5232 params.query = query;
5233 params.index = index;
5234 params.resultGroup = group;
5235 params.resultElement = element;
5237 return context->InvokeService(context, _OrthancPluginService_GetFindQueryTag, ¶ms);
5261 _OrthancPluginFindOperation params;
5262 memset(¶ms, 0,
sizeof(params));
5263 params.query = query;
5264 params.index = index;
5265 params.resultString = &result;
5299 _OrthancPluginFindOperation params;
5300 memset(¶ms, 0,
sizeof(params));
5301 params.query = query;
5302 params.index = index;
5303 params.resultString = &result;
5325 } _OrthancPluginMoveCallback;
5347 _OrthancPluginMoveCallback params;
5348 params.callback = callback;
5349 params.getMoveSize = getMoveSize;
5350 params.applyMove = applyMove;
5351 params.freeMove = freeMove;
5353 return context->InvokeService(context, _OrthancPluginService_RegisterMoveCallback, ¶ms);
Definition: OrthancCPlugin.h:648
const char * OrthancPluginGetInstanceRemoteAet(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the AET of a DICOM instance.
Definition: OrthancCPlugin.h:2179
int OrthancPluginHasInstanceMetadata(OrthancPluginContext *context, OrthancPluginDicomInstance *instance, const char *metadata)
Check whether a DICOM instance is associated with some metadata.
Definition: OrthancCPlugin.h:2358
OrthancPluginChangeType
Definition: OrthancCPlugin.h:605
void OrthancPluginSendHttpStatusCode(OrthancPluginContext *context, OrthancPluginRestOutput *output, uint16_t status)
Send a HTTP status code.
Definition: OrthancCPlugin.h:2042
void OrthancPluginSetHttpHeader(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *key, const char *value)
Set some HTTP header.
Definition: OrthancCPlugin.h:2143
OrthancPluginErrorCode OrthancPluginRegisterDecodeImageCallback(OrthancPluginContext *context, OrthancPluginDecodeImageCallback callback)
Register a callback to handle the decoding of DICOM images.
Definition: OrthancCPlugin.h:4594
The parameters of a REST request.
Definition: OrthancCPlugin.h:314
void OrthancPluginRedirect(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *redirection)
Redirect a REST request.
Definition: OrthancCPlugin.h:1825
OrthancPluginErrorCode OrthancPluginRestApiDeleteAfterPlugins(OrthancPluginContext *context, const char *uri)
Make a DELETE call to the REST API, as tainted by the plugins.
Definition: OrthancCPlugin.h:1730
const char * OrthancPluginGetInstanceData(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the data of a DICOM file.
Definition: OrthancCPlugin.h:2245
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:3427
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:3519
int OrthancPluginCheckVersion(OrthancPluginContext *context)
Check the compatibility of the plugin wrt. the version of its hosting Orthanc.
Definition: OrthancCPlugin.h:1183
int64_t OrthancPluginGetInstanceSize(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the size of a DICOM file.
Definition: OrthancCPlugin.h:2212
Graylevel, unsigned 16bpp image.
Definition: OrthancCPlugin.h:538
Definition: OrthancCPlugin.h:620
const char *const * headersValues
The values of the HTTP headers.
Definition: OrthancCPlugin.h:374
const char *const * headersKeys
The keys of the HTTP headers (always converted to low-case).
Definition: OrthancCPlugin.h:369
OrthancPluginPixelFormat
Definition: OrthancCPlugin.h:522
uint32_t getCount
For a GET request, the number of GET parameters.
Definition: OrthancCPlugin.h:334
Definition: OrthancCPlugin.h:564
void OrthancPluginRegisterStorageArea(OrthancPluginContext *context, OrthancPluginStorageCreate create, OrthancPluginStorageRead read, OrthancPluginStorageRemove remove)
Register a custom storage area.
Definition: OrthancCPlugin.h:2444
OrthancPluginErrorCode OrthancPluginGetDicomForInstance(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *instanceId)
Retrieve a DICOM instance using its Orthanc identifier.
Definition: OrthancCPlugin.h:1543
OrthancPluginImageFormat
Definition: OrthancCPlugin.h:645
const char * OrthancPluginGetFontName(OrthancPluginContext *context, uint32_t fontIndex)
Return the name of a font.
Definition: OrthancCPlugin.h:3799
OrthancPluginImage * OrthancPluginConvertPixelFormat(OrthancPluginContext *context, const OrthancPluginImage *source, OrthancPluginPixelFormat targetFormat)
Change the pixel format of an image.
Definition: OrthancCPlugin.h:3724
Definition: OrthancCPlugin.h:614
OrthancPluginErrorCode OrthancPluginStorageAreaRead(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, OrthancPluginStorageArea *storageArea, const char *uuid, OrthancPluginContentType type)
Read a file from the storage area.
Definition: OrthancCPlugin.h:3978
uint32_t OrthancPluginGetFontsCount(OrthancPluginContext *context)
Return the number of available fonts.
Definition: OrthancCPlugin.h:3759
void OrthancPluginRegisterOnChangeCallback(OrthancPluginContext *context, OrthancPluginOnChangeCallback callback)
Register a callback to monitor changes.
Definition: OrthancCPlugin.h:2583
Color image in RGBA32 format.
Definition: OrthancCPlugin.h:562
void OrthancPluginSendMethodNotAllowed(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *allowedMethods)
Signal that this URI does not support this HTTP method.
Definition: OrthancCPlugin.h:2088
Definition: OrthancCPlugin.h:632
void OrthancPluginAnswerBuffer(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *answer, uint32_t answerSize, const char *mimeType)
Answer to a REST request.
Definition: OrthancCPlugin.h:1445
Definition: OrthancCPlugin.h:608
OrthancPluginImage * OrthancPluginDecodeDicomImage(OrthancPluginContext *context, const void *buffer, uint32_t bufferSize, uint32_t frameIndex)
Decode one frame from a DICOM instance.
Definition: OrthancCPlugin.h:4720
uint16_t group
Definition: OrthancCPlugin.h:1142
void * OrthancPluginGetImageBuffer(OrthancPluginContext *context, const OrthancPluginImage *image)
Return a pointer to the content of an image.
Definition: OrthancCPlugin.h:3297
uint32_t minMultiplicity
Definition: OrthancCPlugin.h:1145
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:2396
Definition: OrthancCPlugin.h:647
struct _OrthancPluginStorageArea_t OrthancPluginStorageArea
Opaque structure that represents the storage area that is actually used by Orthanc.
Definition: OrthancCPlugin.h:820
Definition: OrthancCPlugin.h:612
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:1791
uint32_t OrthancPluginGetExpectedDatabaseVersion(OrthancPluginContext *context)
Get the expected version of the database schema.
Definition: OrthancCPlugin.h:2829
Graylevel 8bpp image.
Definition: OrthancCPlugin.h:530
uint32_t OrthancPluginGetImageHeight(OrthancPluginContext *context, const OrthancPluginImage *image)
Return the height of an image.
Definition: OrthancCPlugin.h:3228
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:3126
OrthancPluginImage * OrthancPluginUncompressImage(OrthancPluginContext *context, const void *data, uint32_t size, OrthancPluginImageFormat format)
Decode a compressed image.
Definition: OrthancCPlugin.h:3340
OrthancPluginErrorCode(* OrthancPluginRestCallback)(OrthancPluginRestOutput *output, const char *url, const OrthancPluginHttpRequest *request)
Signature of a callback function that answers to a REST request.
Definition: OrthancCPlugin.h:860
Definition: OrthancCPlugin.h:633
Definition: OrthancCPlugin.h:635
Color image in RGB24 format.
Definition: OrthancCPlugin.h:554
Graylevel, signed 16bpp image.
Definition: OrthancCPlugin.h:546
An entry in the dictionary of DICOM tags.
Definition: OrthancCPlugin.h:1140
Definition: OrthancCPlugin.h:607
OrthancPluginCompressionType
Definition: OrthancCPlugin.h:630
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:4305
OrthancPluginPixelFormat OrthancPluginGetImagePixelFormat(OrthancPluginContext *context, const OrthancPluginImage *image)
Return the pixel format of an image.
Definition: OrthancCPlugin.h:3162
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:3884
uint32_t OrthancPluginGetImagePitch(OrthancPluginContext *context, const OrthancPluginImage *image)
Return the pitch of an image.
Definition: OrthancCPlugin.h:3263
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:1502
uint32_t maxMultiplicity
Definition: OrthancCPlugin.h:1146
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:892
void OrthancPluginSendUnauthorized(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *realm)
Signal that a REST request is not authorized.
Definition: OrthancCPlugin.h:2065
void * data
The content of the buffer.
Definition: OrthancCPlugin.h:782
uint32_t OrthancPluginGetFontSize(OrthancPluginContext *context, uint32_t fontIndex)
Return the size of a font.
Definition: OrthancCPlugin.h:3831
OrthancPluginErrorCode OrthancPluginRestApiGet(OrthancPluginContext *context, OrthancPluginMemoryBuffer *target, const char *uri)
Make a GET call to the built-in Orthanc REST API.
Definition: OrthancCPlugin.h:1576
uint32_t headersCount
The number of HTTP headers.
Definition: OrthancCPlugin.h:364
Definition: OrthancCPlugin.h:613
OrthancPluginErrorCode(* OrthancPluginStorageCreate)(const char *uuid, const void *content, int64_t size, OrthancPluginContentType type)
Callback for writing to the storage area.
Definition: OrthancCPlugin.h:919
OrthancPluginErrorCode OrthancPluginRestApiDelete(OrthancPluginContext *context, const char *uri)
Make a DELETE call to the built-in Orthanc REST API.
Definition: OrthancCPlugin.h:1707
OrthancPluginImage * OrthancPluginCreateImage(OrthancPluginContext *context, OrthancPluginPixelFormat format, uint32_t width, uint32_t height)
Create an image.
Definition: OrthancCPlugin.h:4632
char * OrthancPluginGetGlobalProperty(OrthancPluginContext *context, int32_t property, const char *defaultValue)
Get the value of a global property.
Definition: OrthancCPlugin.h:2692
OrthancPluginErrorCode OrthancPluginSendMultipartItem2(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *answer, uint32_t answerSize, uint32_t headersCount, const char *const *headersKeys, const char *const *headersValues)
Send an item as a part of some HTTP multipart answer, with custom headers.
Definition: OrthancCPlugin.h:4891
OrthancPluginErrorCode(* OrthancPluginStorageRemove)(const char *uuid, OrthancPluginContentType type)
Callback for removing a file from the storage area.
Definition: OrthancCPlugin.h:957
Definition: OrthancCPlugin.h:615
OrthancPluginErrorCode OrthancPluginReconstructMainDicomTags(OrthancPluginContext *context, OrthancPluginStorageArea *storageArea, OrthancPluginResourceType level)
Reconstruct the main DICOM tags.
Definition: OrthancCPlugin.h:4154
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:4675
OrthancPluginErrorCode OrthancPluginRegisterIncomingHttpRequestFilter(OrthancPluginContext *context, OrthancPluginIncomingHttpRequestFilter callback)
Register a callback to filter incoming HTTP requests.
Definition: OrthancCPlugin.h:4928
const char *const * getValues
For a GET request, the values of the GET parameters.
Definition: OrthancCPlugin.h:344
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:881
char * OrthancPluginGetInstanceSimplifiedJson(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the DICOM tag hierarchy as a JSON file (with simplification).
Definition: OrthancCPlugin.h:2319
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:2974
Definition: OrthancCPlugin.h:649
const char * body
For a PUT or POST request, the content of the body.
Definition: OrthancCPlugin.h:349
void OrthancPluginRegisterRestCallbackNoLock(OrthancPluginContext *context, const char *pathRegularExpression, OrthancPluginRestCallback callback)
Register a REST callback, without locking.
Definition: OrthancCPlugin.h:1385
Definition: OrthancCPlugin.h:618
struct _OrthancPluginImage_t OrthancPluginImage
Opaque structure that represents an image that is uncompressed in memory.
Definition: OrthancCPlugin.h:812
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:1755
OrthancPluginErrorCode OrthancPluginStartMultipartAnswer(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *subType, const char *contentType)
Start an HTTP multipart answer.
Definition: OrthancCPlugin.h:2903
OrthancPluginErrorCode OrthancPluginStorageAreaRemove(OrthancPluginContext *context, OrthancPluginStorageArea *storageArea, const char *uuid, OrthancPluginContentType type)
Remove a file from the storage area.
Definition: OrthancCPlugin.h:4015
Definition: OrthancCPlugin.h:619
const char *const * getKeys
For a GET request, the keys of the GET parameters.
Definition: OrthancCPlugin.h:339
Definition: OrthancCPlugin.h:610
char * OrthancPluginLookupPatient(OrthancPluginContext *context, const char *patientID)
Look for a patient.
Definition: OrthancCPlugin.h:1857
OrthancPluginInstanceOrigin OrthancPluginGetInstanceOrigin(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the origin of a DICOM file.
Definition: OrthancCPlugin.h:4512
void OrthancPluginFreeImage(OrthancPluginContext *context, OrthancPluginImage *image)
Free an image.
Definition: OrthancCPlugin.h:3382
OrthancPluginValueRepresentation vr
Definition: OrthancCPlugin.h:1144
uint16_t element
Definition: OrthancCPlugin.h:1143
char * OrthancPluginLookupInstance(OrthancPluginContext *context, const char *sopInstanceUID)
Look for an instance.
Definition: OrthancCPlugin.h:1997
Definition: OrthancCPlugin.h:617
OrthancPluginErrorCode OrthancPluginSetGlobalProperty(OrthancPluginContext *context, int32_t property, const char *value)
Set the value of a global property.
Definition: OrthancCPlugin.h:2731
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:2932
const char *const * groups
The matched values for the groups of the regular expression.
Definition: OrthancCPlugin.h:329
OrthancPluginErrorCode(* OrthancPluginStorageRead)(void **content, int64_t *size, const char *uuid, OrthancPluginContentType type)
Callback for reading from the storage area.
Definition: OrthancCPlugin.h:939
char * OrthancPluginLookupStudy(OrthancPluginContext *context, const char *studyUID)
Look for a study.
Definition: OrthancCPlugin.h:1892
uint32_t size
The number of bytes in the buffer.
Definition: OrthancCPlugin.h:787
uint32_t groupsCount
The number of groups of the regular expression.
Definition: OrthancCPlugin.h:324
uint32_t bodySize
For a PUT or POST request, the number of bytes of the body.
Definition: OrthancCPlugin.h:354
void OrthancPluginSetCookie(OrthancPluginContext *context, OrthancPluginRestOutput *output, const char *cookie, const char *value)
Set a cookie.
Definition: OrthancCPlugin.h:2118
Definition: OrthancCPlugin.h:609
char * OrthancPluginGetInstanceJson(OrthancPluginContext *context, OrthancPluginDicomInstance *instance)
Get the DICOM tag hierarchy as a JSON file.
Definition: OrthancCPlugin.h:2281
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:1643
void OrthancPluginRegisterOnStoredInstanceCallback(OrthancPluginContext *context, OrthancPluginOnStoredInstanceCallback callback)
Register a callback for received instances.
Definition: OrthancCPlugin.h:1413
Definition: OrthancCPlugin.h:611
void OrthancPluginRegisterRestCallback(OrthancPluginContext *context, const char *pathRegularExpression, OrthancPluginRestCallback callback)
Register a REST callback.
Definition: OrthancCPlugin.h:1351
char * OrthancPluginLookupStudyWithAccessionNumber(OrthancPluginContext *context, const char *accessionNumber)
Look for a study, using the accession number.
Definition: OrthancCPlugin.h:1927
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:1606
OrthancPluginErrorCode(* OrthancPluginOnStoredInstanceCallback)(OrthancPluginDicomInstance *instance, const char *instanceId)
Signature of a callback function that is triggered when Orthanc receives a DICOM instance.
Definition: OrthancCPlugin.h:871
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:1678
Definition: OrthancCPlugin.h:616
Definition: OrthancCPlugin.h:634
OrthancPluginHttpMethod method
The HTTP method.
Definition: OrthancCPlugin.h:319
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:3936
A memory buffer allocated by the core system of Orthanc.
Definition: OrthancCPlugin.h:777
char * OrthancPluginLookupSeries(OrthancPluginContext *context, const char *seriesUID)
Look for a series.
Definition: OrthancCPlugin.h:1962
uint32_t OrthancPluginGetImageWidth(OrthancPluginContext *context, const OrthancPluginImage *image)
Return the width of an image.
Definition: OrthancCPlugin.h:3195
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:3472