如何用c#中的clearcanvas库从给定的dicom文件中获取图像
您可以帮助我从DICOM文件中提取图像(二进制数据). 解决方案 这个问题并不完全清楚.如果您想要一个用于显示目的的位图,那么这基本上是如果您只是尝试将像素数据提取到字节数组中,则可以使用这样的代码: DicomFile theFile = new DicomFile("c:\tmp.dcm"); theFile.Load(); byte[] thePixels = theFile.DataSet[DicomTags.PixelData].Values;
18 2023-02-18
编程技术问答社区
使用ClearCanvas将JPG图像文件编码为DICOM PixelData
我有一组JPG图像,这些图像实际上是CT扫描的切片,我想将其重构为DICOM图像文件并导入PACS. 我正在使用clearcanvas,并设置了所有必要的标签(并通过使用专有应用程序将我的一个JPG文件转换为DICOM来确认它们,以确保它们是相同的).我只是不确定我应该如何处理我的JPG文件以将其输入Pixeldata标签? 目前,我正在根据Clearcanvas论坛的建议将其转换为字节阵列,但图像只是在DICOM查看器中乱七八糟.我应该如何处理图像数据以使其成为可读格式? public DicomFile CreateFileFromImage(Image image) { int height = image.Height; int width = image.Width; short bitsPerPixel = (short)Image.GetPixelFormatSize(image.PixelF
12 2023-02-18
编程技术问答社区
加载Dicom图像并显示它--使用ClearCanvas库
这是一个非常狭义的问题,但是我知道还有其他人使用此问题,所以我会保持手指交叉,希望你们中的任何人都会在这个问题上找到这个问题. 我正在研究其中一部分是DICOM查看器的WPF应用程序.我们想使用第三方组件来处理DICOM的东西,而ClearCanvas是我们到目前为止最好的印象.我们能够加载DICOM文件并获取属性,但是我们在图像控件的源属性上将图像数据放在图像控件的源属性上遇到问题.有人有暗示如何实现这一目标吗? 这是我用于提取图像数据的代码: var file = new DicomFile(dicomFilePath); var patientName = file.DataSet.GetAttribute(DicomTags.PatientsName); var imageData = file.DataSet.GetAttribute(DicomTags.PixelData); 也尝试使用ImageViewer库,但仍然是相同的数据. var loc
8 2022-11-22
编程技术问答社区
在visual studio 2010中使用c#发送dicom文件到远程AE
我的目标是使用Visual Studio 2010中的C#将DICOM文件发送到远程AE, 我计划实施ClearCanvas库,将任务分为5个部分: // //1 initiate tcp\ip connection // //2 negotiate the association parameters to agree what can be done // //3 send the dicom object // //4 close the association // //5 close the TCP/IP connection 我知道storagescu将参与发送部分3),我尝试在Clearcanvas论坛上查找内容,这些代码还没有太大的意义,所以我不知道从哪里开始,任何有经验的人都可以将DICOM文件发送到远程AE,对我什至应该如何进行研究给出了一些线索?我在正确的轨道上吗? 您的帮助将不胜感激! 解决方案 我在明确的画布
48 2022-08-22
编程技术问答社区
ClearCanvas SDK
我想在另一个项目中试验 ClearCanvas SDK.我不打算对代码进行任何更改.那么如何获取此代码并将其包含在另一个项目中呢?我需要通过 Github 的说明来构建它还是可以只下载 zip,在 VS 中打开并参考 CC 解决方案? 以下是我想做的一些细节.我希望使用 CC 来读取 dicom 标签并从这些标签中收集数据.最初,这就是我想用 CC 做的所有事情. 提前致谢. 解决方案 好的,我会回答这个问题.首先,您需要到 GitHub 下载并编译源代码以生成二进制文件.唯一的其他选择是使用旧版本的 2.0 SP1.那是我记得的最后一个 Clear Canvas 自己提供二进制文件供下载.他们不再这样做了,您必须搜索才能找到它. 一旦你有了二进制文件,你就可以创建一个 Windows 窗体应用程序.构建后将二进制文件放入调试文件夹中.然后通过浏览 DLL 添加引用. 这些是我经常使用的: ClearCanvas.Common.dll ClearCanv
274 2022-08-13
编程技术问答社区
如何把16比特深度的灰度图降级为8比特深度的图像(RGB 24)?
所以我在一个 WPF 项目中工作. 我有两个 DICOM 图像(X 射线(16 位灰度)图像和一个光学(24 位 RGB)图像). 我想要什么 我想通过改变不透明度将两个图像混合在一起.它就像增加或减少两个图像之间的不透明度. 如果我想混合这两个图像,我想做的是将 X 射线图像降级为 8 位灰度.所以它会在混合时匹配 24 位光学图像. 我的问题 如何将 16 位灰度 DICOM 图像降级为 8 位深度(24 位 RGB). 我的尝试 我已尝试使用 PixelFormats 降级图像. stride = width * 4; size = height * stride; bitmapSource = BitmapImage.Create(width, height, 96, 96, System.Windows.Media.PixelFormats.Gray8, null, bitmapBuffer, stride); 但是如果我尝
1206 2022-08-13
编程技术问答社区
如何保存图像为DICOM
我要的JPEG图像保存为使用C#和一些免费的图书馆DICOM。我读了很多它被描述了如何做相反的话题,但我找不到任何地方如何执行我需要什么。我能做到的最好的是用ClearCanvas保存的图像,但它被扭曲。 DicomFile dicomFile =新DicomFile(); dicomFile.MediaStorageSopClassUid = SopClass.DigitalXRayImageStorageForPresentation.Uid; dicomFile.DataSet [DicomTags.SopClassUid] .SetStringValue(SopClass.DigitalXRayImageStorageForPresentation.Uid); dicomFile.TransferSyntax = TransferSyntax.ExplicitVrLittleEndian; dicomFile.DataSet [DicomTags.Imag
5378 2022-07-17
编程技术问答社区