本文介绍图像分析处理(imageprocess)类目下的骨密度估计CalcBMD的语法及示例。
功能描述
骨密度估计能力可以根据输入的胸部或腹部CT成像进行椎体定位、命名以及骨密度估计。
- 您可以进入在线咨询获取在线人工帮助。
- 阿里云视觉智能开放平台视觉AI能力API接入、接口使用或问题咨询等,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。
应用场景
医疗体检:骨质疏松筛查。
特色优势
- 输入胸部CT检测腰椎。
- 根据腰椎计算骨密度值,以T评分、Z评分和分类方式进行骨密度描述。
接入指引
1. 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。
2. 开通能力:请确保您已开通图像分析处理,若未开通服务请立即开通。
3. 创建AccessKey:请确保您已创建AccessKey,如果您使用的是子账号AccessKey,您需要给子账号赋予AliyunVIAPIFullAccess权限,具体操作,请参见RAM授权。
4. 在线调试(可选):您可以通过OpenAPI Explorer在线调试能力,查看完整的调用示例代码及SDK依赖信息,也可以下载完整的工程。
5. 开发接入步骤:
- 在SDK总览中选择您要接入使用的SDK语言。
- 在对应语言的SDK文档中找到AI类目为图像分析处理(imageprocess)的SDK包进行安装。
- 参考文档中提供的示例代码进行适当修改后调用。
6. 示例代码:该能力常用语言查询异步任务结果的示例代码,请参见查询异步任务结果示例代码。
7. 客户端直接调用:该能力常用的客户端调用方式包括以下几种。
输入限制
URLList长度大于20且小于600(即每个序列的slice张数最少20张,最大支持600张),每个URL需通过HTTP协议可访问。
调用步骤
该能力为异步能力,需分两步进行调用。
第一步调用SegmentLymphNode接口提交任务,请求成功后,得到一个任务ID。
第二步调用GetAsyncJobResult接口查询结果,根据任务ID查询任务执行状态和结果。如果任务还在处理中,可稍等一段时间后再进行查询。
计费说明
骨密度估计能力目前处于公测期,可免费调用。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 |
类型 |
是否必选 |
示例值 |
描述 |
Action | String | 是 | CalcBMD | 系统规定参数。取值:CalcBMD。 |
DataFormat | String | 是 | DICOM | 图片的格式。支持DICOM或NIFTI。 |
OrgName | String | 是 | 测试组织 | 当前渠道(即主账号)下的子渠道(即机构,如医院)名称。 |
OrgId | String | 是 | 7ff51bfe-e73d-11ea-827d-506b4b3f3cf6 | 当前渠道(即主账号)下的子渠道(即机构,如医院)标识。 |
SourceType | String | 是 | HTTP_FILES | 输入数据的类型,支持HTTP_FILES和HTTP_NII。
|
URLList.N.URL | String | 是 | https://medclients-sh.oss-cn-shanghai.aliyuncs.com/demo/xxx/0001.dcm | DICOM序列文件URL列表或NIFTI文件URL列表["url","url",......]。 推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理。 说明 URLList.N.URL中的N为该图像URL在当前List中的顺序(从1开始)。当直接使用API请求时,输入URLList的填充会以URLList.1.URL=url1,URLList.2.URL=url2,......的方式指定参数和参数值,参数对以&连接,其中url1、url2、......等具体值请根据实际情况进行替换;当使用SDK填充URLList时,可直接使用SDK提供的相应的方法。 |
返回数据
名称 |
类型 |
示例值 |
描述 |
RequestId | String | B48DECE6-29FE-1967-92F1-2E072873851A | 请求ID。 |
Data | Object | 该数据需要在异步任务执行成功后,通过调用GetAsyncJobResult接口,对其Result字段进行JSON反序列化之后得到。 |
|
Detections | Array of Detections | 椎体检出结果。 |
|
VertId | String | L1 | 椎体编号。 |
VertBMD | Float | 0.78 | 椎体骨密度估计值,单位为g/c㎡。 |
VertTScore | Float | -2.5 | 椎体T评分。 |
VertZScore | Float | NaN | 椎体Z评分。 |
VertCategory | Float | NaN | 椎体分类。
|
Spacing | Array of Float | [3.75, 0.576172, 0.576172] | 每个像素之间的物理距离间隔。 |
Origin | Array of Float | [-325, -155.300003, -146.699997] | 像素坐标系原点在物理坐标系中的位置。 |
ResultURL | String | http://vibktprfx-prod-prod-aic-med-cn-shanghai.oss-cn-shanghai.aliyuncs.com/calc-bmd/local_test/2023-03-31/7772ECE3-22A7-193F-81B4-B0D6A02B5DAF-result.tgz?Expires=1680486509&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=GWi%2BhCCtamefKVYiS9oZJduswH**** | NIFTI格式的分割mask文件HTTP地址。 说明 有效时间为5分钟,5分钟后链接失效,需要重新生成。 |
Message | String | 该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。 | 提交异步任务后的提示信息。 |
查询结果
该接口为异步接口,当前并未返回真实的请求结果,您需要通过返回的RequestId调用GetAsyncJobResult接口来获取该接口的真实请求结果。详情请参见GetAsyncJobResult。
SDK参考
阿里云视觉AI图像分析处理类目下的骨密度估计能力推荐使用SDK调用,支持多种编程语言,调用时请选择AI类目为图像分析处理(imageprocess)的SDK包,文件参数通过SDK调用可支持本地文件及任意URL,具体可参见SDK总览。
示例代码
该能力常用语言查询异步任务结果的示例代码,请参见查询异步任务结果示例代码。
示例
请求示例
http(s)://imageprocess.cn-shanghai.aliyuncs.com/?Action=CalcBMD //更多关于访问域名(Endpoint)信息,请参见:https://help.aliyun.com/document_detail/143103.html
&DataFormat=DICOM
&OrgName=测试组织
&OrgId=7ff51bfe-e73d-11ea-827d-506b4b3f3cf6
&SourceType=HTTP_FILES
&URLList.1.URL=https://medclients-sh.oss-cn-shanghai.aliyuncs.com/demo/xxx/0001.dcm
&URLList.2.URL=https://medclients-sh.oss-cn-shanghai.aliyuncs.com/demo/xxx/0002.dcm
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<CalcBMDResponse>
<RequestId>B48DECE6-29FE-1967-92F1-2E072873851A</RequestId>
<Message>该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。</Message>
</CalcBMDResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "B48DECE6-29FE-1967-92F1-2E072873851A",
"Message" : "该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。"
}
返回示例补充说明
//查询结果:请求示例
http(s)://imageprocess.cn-shanghai.aliyuncs.com/?Action=GetAsyncJobResult
&JobId=E75FE679-0303-4DD1-8252-1143B4FA8A27
&<公共请求参数>
//查询结果:返回示例
{
"RequestId" : "43A0AEB6-45F4-4138-8E89-E1A5D63200E3",
"Data" : {
"Status" : "PROCESS_SUCCESS",
"JobId" : "186AC396-0EEC-46F1-AAA1-BF3585227427",
"Result" : "{\"Detections\" : \"VertId\" : \"L1\",\"VertBMD\" :0.78,\"VertTScore\" : -2.5,\"VertZScore\" : NaN,\"VertCategory\" : NaN,\"Spacing\" : [3.75, 0.576172, 0.576172],\"Origin\" : [-325, -155.300003, -146.699997],\"ResultURL\" : \"http://vibktprfx-prod-prod-aic-med-cn-shanghai.oss-cn-shanghai.aliyuncs.com/calc-bmd/local_test/2023-03-31/7772ECE3-22A7-193F-81B4-B0D6A02B5DAF-result.tgz?Expires=1680486509&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=GWi%2BhCCtamefKVYiS9oZJduswH****\"}"
}
}
//Result反序列化
{
"Detections" : [ {
"VertId" : "L1",
"VertBMD" : 0.78,
"VertTScore" : -2.5,
"VertZScore" : NaN,
"VertCategory" : NaN
} ]
"Spacing" : [3.75, 0.576172, 0.576172],
"Origin" : [-325, -155.300003, -146.699997],
"ResultURL" : "http://vibktprfx-prod-prod-aic-med-cn-shanghai.oss-cn-shanghai.aliyuncs.com/calc-bmd/local_test/2023-03-31/7772ECE3-22A7-193F-81B4-B0D6A02B5DAF-result.tgz?Expires=1680486509&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=GWi%2BhCCtamefKVYiS9oZJduswH****"
}
错误码
关于骨密度估计的错误码。详情请参见常见错误码。
安全声明
- 请确保上传的图片或文件来源符合相应的法律法规。
- 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。