#public-api #interface #graphql #upload #discovery #connect #retin-ai

discovery-connect

通过公共API将数据上传到RetinAI Discovery的库

1 个稳定版本

1.0.0 2024年3月27日

#23 in #public-api

Apache-2.0

49KB
497

Discovery Connect (Rust)

Rust的Discovery API数据交换接口,具有C兼容的绑定。

  • bindings/cpp: C兼容的绑定 - 试验性
  • connect: Rust GraphQL接口
  • example: GraphQL接口的终端应用程序

入门指南

请确保您已根据安装说明安装了有效的Rust。

打开终端并输入

cargo run --p example

您应该看到以下输出

Usage: ExampleUploadAcquisition <api_url> <client_id> <client_secret> <username> <password> <timeout> <workbook_uuid> <acquisition_name> <file1> <file2> ...

如果您收到错误,请检查或更新您的Rust安装。

编译

您可以使用 cargo build --release 生成一个库,您可以在项目中包含它。

cargo build --release

在target/release/中自动生成C接口

  • include/discovery.h - 头文件(跨平台)
  • libdiscovery.so - 共享库(仅限Linux)
  • libdiscovery.dylib - 共享库(仅限MacOS)
  • discovery.dll - 共享库(仅限Windows)

测试

要访问Discovery API,您需要

  • 有效的Discovery服务账户凭证
  • 有效的API客户端凭证

在与Ikerian合作特定项目时,这些凭证将作为项目设置的一部分发放给您。如果您尚未获得凭证,请联系您的联系人。

以下为Linux / Mac的示例调用

API_URL='https://api.example.discovery.com' \
CLIENT_ID='12345678-1234-1234-1234-1234567890ab' \
CLIENT_SECRET='1234567890' \
USER='[email protected]' \
PASS='abcdefghij' \
TIMEOUT=300 \
WORKBOOK_UUID='12345678-1234-1234-1234-1234567890ab' \
ACQUISITION_NAME='test-acquisition' \
cargo run -q --p example \
  $API_URL $CLIENT_ID $CLIENT_SECRET $USER $PASS $TIMEOUT \
  $WORKBOOK_UUID $ACQUISITION_NAME \
  00000001.dcm 00000002.dcm 00000003.dcm 00000004.dcm

以下为Windows的示例调用

set API_URL= 'https://api.example.discovery.com'
set CLIENT_ID='12345678-1234-1234-1234-1234567890ab'
set CLIENT_SECRET='1234567890'
set USER='[email protected]'
set PASS='abcdefghij'
set TIMEOUT=300
set WORKBOOK_UUID='12345678-1234-1234-1234-1234567890ab'
set ACQUISITION_NAME='test-acquisition'
cargo run -q --project example/DiscoveryExample.csproj ^
    %API_URL% %CLIENT_ID% %CLIENT_SECRET% %USER% %PASS% %TIMEOUT% ^
    %WORKBOOK_UUID% %ACQUISITION_NAME% ^
   00000001.dcm 00000002.dcm 00000003.dcm 00000004.dcm

许可

版权所有 2023 Ikerian AG

根据Apache许可证版本2.0(“许可证”)许可;除非法律要求或经书面同意,否则不得使用此文件,除非符合许可证。您可以在以下位置获取许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或经书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可证管理权限和限制的具体语言,请参阅许可证。

依赖项

~14–29MB
~506K SLoC