【问题标题】:How can pass path of dicom file at cornerstone library and display it?如何在基石库中传递dicom文件的路径并显示它?
【发布时间】:2018-10-08 08:20:46
【问题描述】:

我想显示我网站上的 Dicom 图像。所以我找到了基石库来做这件事。

代码如下:

<!DOCTYPE HTML>
<html>
<head>
    <!-- twitter bootstrap CSS stylesheet - included to make things pretty, not needed or used by cornerstone -->
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">

    <link href="cornerstone.min.css" rel="stylesheet">

</head>
<body>
<div class="container">

    <div class="page-header">
        <br>

    </div>

    <div class="row">
        <form class="form-horizontal">
            <div class="form-group">
                <input type="file" id="selectFile" >
            </div>
        </form>
    </div>

    <div style="width:512px;height:512px;position:relative;color: white;display:inline-block;border-style:solid;border-color:black;"
         oncontextmenu="return false"
         class='disable-selection noIbar'
         unselectable='on'
         onselectstart='return false;'
         onmousedown='return false;'>
        <div id="dicomImage"
             style="width:512px;height:512px;top:0px;left:0px; position:absolute">
        </div>
    </div>
</div>
</body>


<!-- jquery - currently a dependency and thus required for using cornerstoneWADOImageLoader -->
<script src="jquery.min.js"></script>

<!-- include the cornerstone library -->
<script src="cornerstone.min.js"></script>

<!-- include the dicomParser library as the WADO image loader depends on it -->
<script src="dicomParser.min.js"></script>

<!-- include the cornerstoneWADOImageLoader library -->
<script src="cornerstoneWADOImageLoader.min.js"></script>
<script src="../dist/cornerstoneFileImageLoader.js"></script>
<!-- jpeg 2000 codec -->
<script src="jpx.min.js"></script>

<script>


    $(document).ready(function() {

        var element = $('#dicomImage').get(0);
         cornerstone.enable(element);

        // Listen for the change event on our input element so we can get the
        // file selected by the user
        $('#selectFile').on('change', function(e) {
            // Add the file to the cornerstoneFileImageLoader and get unique
            // number for that file
            var file = e.target.files[0];
            alert("cambio il file");

            var index = cornerstoneFileImageLoader.addFile(file);

            // create an imageId for this image
            var imageId = "dicomfile://" + index;
            // load and display this image into the element
            var element = $('#dicomImage').get(0);
            cornerstone.loadImage(uriImageDesktop).then(function(image) {
                cornerstone.displayImage(element, image);
            });

        });

    });

</script>
</html>

使用此代码,我可以使用文件选择器显示单个 HTML 页面。有了这个组件,我可以导航到我的电脑,然后库加载一个 Dicom 图像。

现在我想从 URL 传递我的 Dicom 图像的路径。

所以我正在尝试这样做

var uriImageDesktop = "C:\Users\michele\Desktop\deflate_tests\image";
            // load and display this image into the element
            var element = $('#dicomImage').get(0);
            cornerstone.loadImage(uriImageDesktop).then(function(image) {
                cornerstone.displayImage(element, image);
            });

目前我写的是静态 dicom 图像,但没有找到。

所以问题是,我怎样才能从我的 dicom 文件中传递一个路径然后显示它?

【问题讨论】:

    标签: javascript html dicom cornerstone


    【解决方案1】:

    您在这里缺少图像加载器部分。 Cornerstone 需要一个图像加载器来将您的链接转换为可供基石读取的图像对象。如果您查看cornerstone's github repo,您会发现两个图像加载器。 WADO 图像加载器可用于读取 DICOM 文件。您将不得不构建一个后端来提供 DICOM 文件,因为浏览器将无法访问服务器文件。 假设您有一个访问 DICOM 文件的 uri:

    import * as cornerstone from "cornerstone-core"
    import * as cornerstoneWADOImageLoader from "cornerstone-wado-image-loader"
    cornerstoneWADOImageLoader.external.cornerstone = cornerstone
    
    const uriServed = "http://xxx/deflate_tests/image"
    const element = $('#dicomImage').get(0);
    cornerstone.loadImage("wadouri:" + uriServed).then(image => {
      cornerstone.displayImage(element, image);
     });
    

    注意:如果您没有 npm,只需将 .js 文件作为脚本链接而不是导入(或者您也可以在 ES6+ 中导入它们)

    【讨论】:

    • 你能帮我处理 JPG 文件吗,我正在使用下面的代码,对我来说没有任何进展,我是新手 cornerstoneWebImageLoader.external.cornerstone = cornerstone; const jpgImage = 'example://C/Med/MedSampleApplication/src/assets/images/Scr.jpg'; const element = document.querySelector('.image-canvas'); cornerstone.enable(element); cornerstone.loadImage(jpgImage).then(function(image) { cornerstone.displayImage(element, image)});
    【解决方案2】:

    可能 URI 格式无效。该示例不包含方案。像

    file://c:/Users/user/Desktop/images/image.dcm
    

    可能会更好。

    【讨论】:

      猜你喜欢
      • 2014-09-22
      • 1970-01-01
      • 2015-11-30
      • 1970-01-01
      • 2018-11-19
      • 2015-08-20
      • 2010-12-11
      • 1970-01-01
      • 2015-06-22
      相关资源
      最近更新 更多