Oracle中提供的一些相关媒体对象与过程都是在Oracle模式里去定义建立包含 ORDDicom 列的表。如果你在Oracle模式的相关操作里存在不解之处的话,你就可以浏览以下的文章对其进行了解。
本教程使用一个包含四个列的简单表:一个整数标识符 (id)、一个 ORDSYS.ORDDicom 对象 (dicom)、一个 ORDSYS.ORDImage 对象 (imageThumb) 和另一个ORDSYS.ORDDicom 对象 (anonDicom)。注意,Oracle 提供的所有多媒体对象和过程都在Oracle模式中定义。执行以下步骤:
1.在 SQL*Plus 会话中,执行以下命令:
- @create_dicom_table
create_dicom_table.sql代码如下:
Java代码
- set echo on;
- drop table medical_image_table;
- create table medical_image_table
- (id integer primary key,
- dicom ordsys.orddicom,
- imageThumb ordsys.ordimage,
- anonDicom ordsys.orddicom);
- set echo on;
- drop table medical_image_table;
- create table medical_image_table
- (id integer primary key,
- dicom ordsys.orddicom,
- imageThumb ordsys.ordimage,
- anonDicom ordsys.orddicom);
导入医学图像
该主题描述了如何将数据库文件系统中的医学图像加载到新创建的medical_image_table表中。注意,在大多数情况下,您希望使用 SQL*Loader 而不是本例所示的Oracle模式中定义中 ORDDicom 导入方法加载数据。
创建一个 PL/SQL 过程image_import(),该过程将把一个新行插入medical_image_table,将文件名中的 DICOM 数据导入新创建的 ORDDICOM 对象,然后将 DICOM 属性提取到元数据属性(基于默认映射文档)和 ORDDICOM 对象的 UID 属性。注意,默认映射文档ordcmmp.xml在安装期间加载。
您可以创建一个自定义映射文档,并将属性提取到单独的 XML 文档中,但该主题不在本教程的讨论范围内。
执行以下步骤:
1.在 SQL*Plus 会话中,输入以下命令:
- @create_import_procedure
create_import_procedure.sql代码如下:
Java代码
- -- Set Data Model Repository
- execute ordsys.ord_dicom.setDataModel();
- create or replace procedure image_import
(dest_id number, filename varchar2) is- dcm ordsys.orddicom;
- begin
- delete from medical_image_table where id
= dest_id;- insert into medical_image_table
(id, dicom, imageThumb, anonDicom)- values (dest_id, ordsys.orddicom
(‘file’, ‘IMAGEDIR’, filename, 0),- ordsys.ordimage.init(), ordsys.orddicom())
- returning dicom into dcm;
- dcm.import(1);
- update medical_image_table set dicom=
dcm where id=dest_id;- commit;
- end;
- /
- show errors;
- -- Set Data Model Repository
- execute ordsys.ord_dicom.setDataModel();
- create or replace procedure image_import
(dest_id number, filename varchar2) is- dcm ordsys.orddicom;
- begin
- delete from medical_image_table where id
= dest_id;- insert into medical_image_table
(id, dicom, imageThumb, anonDicom)- values (dest_id, ordsys.orddicom
(‘file’, ‘IMAGEDIR’, filename, 0),- ordsys.ordimage.init(), ordsys.orddicom())
- returning dicom into dcm;
- dcm.import(1);
- update medical_image_table set dicom=
dcm where id=dest_id;- commit;
- end;
- /
- show errors;
2.现在,您可以执行新创建的过程,以导入示例 DICOM 文件。在 SQL*Plus 会话中,输入以下命令:
Java代码
- execute image_import(1,'179.dcm');
- execute image_import(1,'179.dcm');
以上就是对,Oracle提供的所有多媒体对象和过程都在Oracle模式中定义中的执行步骤相关的内容的介绍,望你会有所收获。
【编辑推荐】