Java dicom查看_验证DICOM文件
我知道這已經(jīng)得到了解答,但我有類似的要求,所以我掀起了一些擴(kuò)展方法來做到這一點(diǎn) . 適用于Files,FileStreams,MemoryStreams和通用Streams . 僅讀取驗(yàn)證文件類型所需的特定4個(gè)字節(jié) . 非常高效,我能夠在幾秒鐘內(nèi)完成數(shù)千個(gè)文件 .
C#
public static class Dicom
{
public static bool IsDicomFile(this Stream s)
{
//Create an empty 4 byte array
byte[] dba = new byte[4];
//Seek to 0x80
s.Seek(128, SeekOrigin.Begin);
//Read the following 4 dba
s.Read(dba, 0, 4);
//Compare to 'DICM'
return dba.SequenceEqual(new byte[4] {68, 73, 67, 77});
}
public static bool IsDicomFile(this MemoryStream ms)
{
return ((Stream)ms).IsDicomFile();
}
public static bool IsDicomFile(this FileStream fs)
{
return ((Stream)fs).IsDicomFile();
}
public static bool IsDicomFile(this FileInfo fi)
{
return fi.OpenRead().IsDicomFile();
}
}
VB.NET
_
Public Function IsDicomFile(ByVal s As Stream) As Boolean
'Create an empty 4 byte array
Dim dba() As Byte = New Byte(3) {}
'Seek to 0x80
s.Seek(128, SeekOrigin.Begin)
'Read the subsequent 4 bytes
s.Read(dba, 0, 4)
'Compare to 'DICM'
Return dba.SequenceEqual(New Byte(3) {68, 73, 67, 77})
End Function
_
Public Function IsDicomFile(ByVal ms As MemoryStream) As Boolean
Return DirectCast(ms, Stream).IsDicomFile
End Function
_
Public Function IsDicomFile(ByVal fs As FileStream) As Boolean
Return DirectCast(fs, Stream).IsDicomFile
End Function
_
Public Function IsDicomFile(ByVal fi As FileInfo) As Boolean
Return fi.OpenRead().IsDicomFile
End Function
總結(jié)
以上是生活随笔為你收集整理的Java dicom查看_验证DICOM文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 九九乘法表 代码
- 下一篇: 2021美赛A题元胞自动机解法(M奖)