- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我不熟悉如何通过原生制造商软件处理 DICOM 图像。我正在尝试将一组重建的经轴切片中的 PET 图像读入 MatLab。我的目的是做一些简单的分割,最后确定分割中的最大和最小像素值。但是,我无法将存储的值转换为在 native 系统上看到的值。
图像作为 int16 类加载到 MatLab 中。最大像素值始终为 32767,无论我从系列中加载哪个切片。通过在他们的本地系统上查看图像,我知道每个切片中的最大像素值是不同的。
我检查了重新缩放值和重新缩放截距值,重新缩放关系似乎是线性的。我应该做另一个更正吗?我假设所有其他校正(例如衰减、分散和随机)都是在重建过程中进行的。
任何帮助将不胜感激(希望我遗漏了一些简单的东西!)。我已经发布了从下面的标题中检索到的 DICOM 信息(别担心,这些图像是幻影的,因此没有患者识别数据).
问候,
罗斯
Filename: [1x76 char]
FileModDate: '26-Jul-2013 10:50:42'
FileSize: 38356
Format: 'DICOM'
FormatVersion: 3
Width: 128
Height: 128
BitDepth: 16
ColorType: 'grayscale'
FileMetaInformationGroupLength: 182
FileMetaInformationVersion: [2x1 uint8]
MediaStorageSOPClassUID: '1.2.840.10008.5.1.4.1.1.128'
MediaStorageSOPInstanceUID: [1x49 char]
TransferSyntaxUID: '1.2.840.10008.1.2.1'
ImplementationClassUID: '1.2.840.113619.6.55'
SourceApplicationEntityTitle: 'dst01'
IdentifyingGroupLength: 484
SpecificCharacterSet: 'ISO_IR 100'
ImageType: 'ORIGINAL\PRIMARY'
InstanceCreationDate: '20130522'
InstanceCreationTime: '171655'
InstanceCreatorUID: '1.2.840.113619.1.131'
SOPClassUID: '1.2.840.10008.5.1.4.1.1.128'
SOPInstanceUID: [1x49 char]
StudyDate: '20130514'
SeriesDate: '20130514'
AcquisitionDate: '20130514'
ContentDate: '20130522'
StudyTime: '142911'
SeriesTime: '143208.00'
AcquisitionTime: '143208.00'
ContentTime: '171655'
AccessionNumber: ''
Modality: 'PT'
Manufacturer: 'GE MEDICAL SYSTEMS'
InstitutionName: 'NHS TRUST'
ReferringPhysicianName: [1x1 struct]
StationName: 'dst01'
StudyDescription: ''
SeriesDescription: 'WB_3D_VuePoint'
PhysicianReadingStudy: [1x1 struct]
OperatorName: [1x1 struct]
ManufacturerModelName: 'Discovery STE'
Private_0009_GroupLength: 2714
Private_0009_10xx_Creator: 'GEMS_PETD_01'
Private_0009_11xx_Creator: 'GEMS_GENIE_1'
Private_0009_1002: 'SOLID_TEST'
Private_0009_1005: '20130514143030.00'
Private_0009_1006: 0
Private_0009_100a: [1x45 char]
Private_0009_100d: '20130514143208.00'
Private_0009_100e: '20130514143055.00'
Private_0009_1013: [1x59 char]
Private_0009_1014: 'Sternal Notch'
Private_0009_1015: 'SN'
Private_0009_1016: 0
Private_0009_1017: 0
Private_0009_1018: 0
Private_0009_1019: 0
Private_0009_101a: 1
Private_0009_101b: 0
Private_0009_101c: 1
Private_0009_101d: 0
Private_0009_101e: 1
Private_0009_101f: 1
Private_0009_1020: 0
Private_0009_1021: 1
Private_0009_1022: 0
Private_0009_1023: 0
Private_0009_1024: 2
Private_0009_1025: 2
Private_0009_1026: 23
Private_0009_1027: 1
Private_0009_1028: 1
Private_0009_1029: 0
Private_0009_102a: 0
Private_0009_102b: 70
Private_0009_102c: 153
Private_0009_102d: 0
Private_0009_102e: 0
Private_0009_1034: 0
Private_0009_1035: 0
Private_0009_1036: 'FDG -- fluorodeoxyglucose'
Private_0009_1037: ''
Private_0009_1038: 0
Private_0009_1039: ''
Private_0009_103a: 0
Private_0009_103b: ''
Private_0009_103c: 0
Private_0009_103d: ''
Private_0009_103e: '18F'
Private_0009_103f: 6588
Private_0009_1040: 0.9700
Private_0009_104d: 0
Private_0009_104e: 23
Private_0009_104f: 23
Private_0009_1050: 7
Private_0009_1051: 7
Private_0009_1052: 32
Private_0009_1053: 800
Private_0009_1054: 650
Private_0009_1055: 425
Private_0009_1056: [1x49 char]
Private_0009_1057: [1x48 char]
Private_0009_1059: [1x49 char]
Private_0009_105a: 0
Private_0009_105c: [1x49 char]
Private_0009_105d: [1x45 char]
Private_0009_105e: [1x51 char]
Private_0009_105f: 'SOLID_TEST'
Private_0009_1062: [1x44 char]
Private_0009_1063: 0
Private_0009_1064: 0
Private_0009_1066: 119.5000
Private_0009_1067: -79.8540
Private_0009_1068: '20130514143123.00'
Private_0009_1069: 553
Private_0009_106a: -79.9000
Private_0009_106b: 0
Private_0009_106c: '20130514143208.00'
Private_0009_106d: 180
Private_0009_1070: 0
Private_0009_1071: 90674329
Private_0009_1072: 0
Private_0009_1073: 1
Private_0009_1074: 255
Private_0009_107c: 0
Private_0009_107d: 2
Private_0009_107e: 0
Private_0009_107f: 0
Private_0009_1080: 0
Private_0009_1081: 0
Private_0009_108b: 5
Private_0009_108c: 2
Private_0009_108d: 0.0960
Private_0009_108e: 0
Private_0009_108f: 0
Private_0009_1090: 0
Private_0009_1091: 0
Private_0009_1092: 0
Private_0009_1093: 0
Private_0009_1094: 0
Private_0009_1095: 0
Private_0009_1096: [1x49 char]
Private_0009_1097: [1x51 char]
Private_0009_1098: [1x49 char]
Private_0009_1099: ''
Private_0009_109a: 0
Private_0009_109b: 0
Private_0009_109c: ''
Private_0009_109d: 0
Private_0009_109e: 0
Private_0009_109f: 0
Private_0009_10a0: 0
Private_0009_10a1: 0
Private_0009_10a2: 0
Private_0009_10a3: 0
Private_0009_10a6: 26
Private_0009_10a7: 0
Private_0009_10ab: 0
Private_0009_10ac: 0
Private_0009_10ad: ''
Private_0009_10ae: ''
Private_0009_10b2: 2
Private_0009_10b3: 20
Private_0009_10b4: 70
Private_0009_10b5: 0
Private_0009_10b6: 0
Private_0009_10b7: 0
Private_0009_10b8: 0
Private_0009_10b9: 0
Private_0009_10ba: 1
Private_0009_10bb: 6
Private_0009_10bc: 0
Private_0009_10bd: 0
Private_0009_10be: 0
Private_0009_10bf: 0
Private_0009_10c0: 0
Private_0009_10c1: 0
Private_0009_10c2: 0
Private_0009_10c3: 0
Private_0009_10c4: 6
Private_0009_10c5: 0
Private_0009_10c6: 0
Private_0009_10c7: 0
Private_0009_10cb: 0.8601
Private_0009_10cc: 0.1256
Private_0009_10cd: 0.8240
Private_0009_10ce: -0.0254
Private_0009_10cf: 0.5000
Private_0009_10d0: -0.0483
Private_0009_10d5: 0
Private_0009_10d6: 70.5000
Private_0009_10d7: -79.9000
Private_0009_10d8: 1
Private_0009_10db: 3
Private_0009_10dc: 2
Private_0009_10df: 47
Private_0009_10e2: 10
Private_0009_10e4: '3D_AC'
Private_0009_10e5: 0
Private_0009_10e6: 0
Private_0009_10e7: 0
Private_0009_10e9: 0
Private_0009_10ea: 0
Private_0009_10eb: 0
Private_0009_10ec: 0
Private_0009_111e: [1x49 char]
Private_0009_1146: [1x49 char]
PatientGroupLength: 96
PatientName: [1x1 struct]
PatientID: 'SOLID_TEST'
PatientBirthDate: ''
PatientSex: ''
PatientAge: ''
PatientSize: 0
PatientWeight: 0
EthnicGroup: ''
AdditionalPatientHistory: ''
Private_0017_GroupLength: 46
Private_0017_10xx_Creator: 'GEMS_PETD_01'
Private_0017_1004: '20130207140047.00'
AcquisitionGroupLength: 230
SliceThickness: 3.2700
AcquisitionTerminationCondition: 'TIME'
AcquisitionStartCondition: 'MANU'
AcquisitionStartConditionData: 0
AcquisitionTerminationConditionData: 0
SoftwareVersion: '41.04'
ProtocolName: 'WB 3D'
TriggerTime: 0
FrameTime: 0
IntervalsAcquired: 0
IntervalsRejected: 0
ReconstructionDiameter: 700
GantryDetectorTilt: 0
FieldOfViewShape: 'CYLINDRICAL RING'
FieldOfViewDimensions: [2x1 double]
CollimatorType: 'NONE'
ActualFrameDuration: 180000
PatientPosition: 'HFS'
Private_0019_GroupLength: 42
Private_0019_10xx_Creator: 'GEMS_PETD_01'
Private_0019_1004: '20130207140602'
RelationshipGroupLength: 322
StudyInstanceUID: [1x51 char]
SeriesInstanceUID: [1x49 char]
StudyID: '6893'
SeriesNumber: 401
InstanceNumber: 22
ImagePositionPatient: [3x1 double]
ImageOrientationPatient: [6x1 double]
FrameOfReferenceUID: [1x59 char]
PositionReferenceIndicator: 'SN'
SliceLocation: 1.8500
ImagePresentationGroupLength: 218
SamplesPerPixel: 1
PhotometricInterpretation: 'MONOCHROME2'
Rows: 128
Columns: 128
PixelSpacing: [2x1 double]
CorrectedImage: [1x40 char]
BitsAllocated: 16
BitsStored: 16
HighBit: 15
PixelRepresentation: 1
SmallestImagePixelValue: 0
LargestImagePixelValue: 32767
RescaleIntercept: 0
RescaleSlope: 0.3555
LossyImageCompression: '00'
Unknown_0040_0000: 158
AcquisitionContextSequence: [1x1 struct]
NuclearAcquisitionGroupLength: 808
EnergyWindowRangeSequence: [1x1 struct]
RadiopharmaceuticalInformationSequence: [1x1 struct]
NumberOfSlices: 47
TypeOfDetectorMotion: 'NONE'
PatientOrientationCodeSequence: [1x1 struct]
PatientOrientationModifierCodeSequence: [1x1 struct]
PatientGantryRelationshipCodeSequence: [1x1 struct]
SeriesType: 'STATIC\IMAGE'
Units: 'BQML'
CountsSource: 'EMISSION'
RandomsCorrectionMethod: 'SING'
AttenuationCorrectionMethod: 'measured,, 0.096000 cm-1,'
DecayCorrection: 'START'
ReconstructionMethod: '3D IR'
DetectorLinesOfResponseUsed: '0'
ScatterCorrectionMethod: 'Model Based'
AxialMash: [2x1 double]
TransverseMash: 2
CoincidenceWindowWidth: 0
FrameReferenceTime: 0
PrimaryPromptsCountsAccumulated: 0
SecondaryCountsAccumulated: 0
SliceSensitivityFactor: 1
DecayFactor: 1.0095
DoseCalibrationFactor: 1139
ScatterFractionFactor: 0.3174
DeadTimeFactor: 1.1243
ImageIndex: 26
PixelDataGroupLength: 32780
最佳答案
我在 mammo 工作,没有 PET 经验,所以请对我在这里所说的持保留意见。
最大像素值为 32767,即 2 的 15 次方减 1。rescale 斜率不重要吗?
RescaleSlope: 0.3555
据推测,每个切片可能会有所不同,像素值应乘以该值(也应添加截距,但这是零)。
关于image - 在 MatLab 中打开正电子发射断层扫描 (PET) DICOM 图像并正确解释像素值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18062702/
这个问题已经有答案了: How to do case insensitive string comparison? (23 个回答) 已关闭 3 年前。 用户在我的输入栏中写入“足球”,然后执行第 6
啊,不习惯 javascript 中的字符串。 character_id= + id + correct= + correctOrIncorrect 这就是我需要制作成字符串的内容。如果您无法猜测字符
$(function() { var base_price = 0; CalculatePrice(); $(".math1").on('change', function(e) { Calc
我找不到任何文章回答问题:将Spinnaker部署到Spinnaker将管理的同一Kubernetes集群是否安全/正确?我主要是指生产,HA部署。 最佳答案 我认为Spinnaker和Kuberne
我正在使用MSVC在Windows上从源代码(官方源代码发布,而不是从仓库中)构建Qt5(Qt 5.15.0)。 我正在设置环境。变量,依赖项等,然后运行具有1600万个选项的configure,最后
我需要打印一个包含重复单词的数组。我的数组已经可以工作,但我不知道如何正确计算单词数。我已经知道,当我的索引计数器 (i) 为 49 时,并且当 (i) 想要计数到 50 时,我会收到错误,但我不知道
我正在遵循一个指南,该指南允许 Google map 屏幕根据屏幕尺寸禁用滚动。我唯一挣扎的部分是编写一个代码,当我手动调整屏幕大小时动态更改 True/False 值。 这是我按照说明操作的网站,但
我有一个类“FileButton”。它的目的是将文件链接到 JButton,FileButton 继承自 JButton。子类继承自此以使用链接到按钮的文件做有用的事情。 JingleCardButt
我的 friend 数组只返回一个数字而不是所有数字。 ($myfriends = 3) 应该是…… ($myfriends = 3 5 7 8 9 12). 如果我让它进入 while 循环……整个
这个问题在这里已经有了答案: Is there a workaround to make CSS classes with names that start with numbers valid?
我正在制作一个 JavaScript 函数,当调整窗口大小时,它会自动将 div 的大小调整为与窗口相同的宽度/高度。 该功能非常基本,但我注意到在调整窗口大小时出现明显的“绘制”滞后。在 JS fi
此问题的基本视觉效果可在 http://sevenx.de/demo/bootstrap-carousel/inc.carousel/tabbed-slider.html 获得。 - 如果你想看一看。
我明白,如果我想从函数返回一个字符串文字或一个数组,我应该将其声明为静态的,这样当被调用的函数被返回时,内容就不会“消亡”。 但我的问题是,当我在函数内部使用 malloc 分配内存时会怎样? 在下面
在 mySQL 数据库中存储 true/false/1/0 值最合适(读取数据消耗最少)的数据字段是什么? 我以前使用过一个字符长的 tinyint,但我不确定它是否是最佳解决方案? 谢谢! 最佳答案
我想一次读取并处理CSV文件第一行中的条目(例如打印)。我假设使用Unix风格的\n换行符,没有条目长度超过255个字符,并且(现在)在EOF之前有一个换行符。这意味着它是fgets()后跟strto
所以,我们都知道 -1 > 2u == true 的 C/C++ 有符号/无符号比较规则,并且我有一种情况,我想有效地实现“正确”比较。 我的问题是,考虑到人们熟悉的尽可能多的架构,哪种方法更有效。显
**摘要:**文章的标题看似自相矛盾。 本文分享自华为云社区《Java异常处理:如何写出“正确”但被编译器认为有语法错误的程序》,作者: Jerry Wang 。 文章的标题看似自相矛盾,然而我在“正
我有一个数据框,看起来像: dataDemo % mutate_each(funs(ifelse(. == '.', REF, as.character(.))), -POS) # POS REF
有人可以帮助我使用 VBScript 重新格式化/正确格式化带分隔符的文本文件吗? 我有一个文本文件 ^分界如下: AGREE^NAME^ADD1^ADD2^ADD3^ADD4^PCODE^BAL^A
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我是一名优秀的程序员,十分优秀!