Matlab 또는 python을 사용하여 PET DICOM 이미지에서 방사능 농도를 계산하려고합니다. 나는 DICOM 표준에서 읽었습니다.
(0028,1053) Rescale Slope
(0028,1052) Rescale Intercept
저장된 16 비트 단위 (내 경우)를 실제 단위에 매핑하는 데 사용할 수 있습니다. 파일에는 다음 요소도 포함됩니다.
(0040,9096) Real World Value Mapping Sequence
(0028,9145) Pixel Value Transformation Sequence
a (5200,9230) Per Frame Functional Groups Sequence
(동적 측정의 각 프레임에 대해) 또는 a (5200,9229) Shared Functional Groups Sequence
(정적 측정의 경우)의 일부로 . 이러한 시퀀스에는 크기 조정 슬로프 및 절편도 포함됩니다. 값은 서로 일치하지만 (주어진 프레임에 대해 (0040,9096) Real World Value Mapping Sequence
및 (0028,9145) Pixel Value Transformation Sequence
값은 동일 함) "주"기울기 및 절편 (PET 이미지 모듈의 속성) 값과 일치하지 않습니다. 예를 들어 pydicom을 사용하여 동적 다중 프레임 파일을 다음과 같이 읽은 후 ds
:
#This is the "main" slope, part of the PET Image module
>ds.RescaleSlope
Out[31]: "0.478081"
#This is a dynamic image, for a static image SharedFunctionalGroupsSequence would be used
>ds.PerFrameFunctionalGroupsSequence[0].PixelValueTransformationSequence[0].RescaleSlope
Out[34]: "104.435089"
>ds.PerFrameFunctionalGroupsSequence[0].RealWorldValueMappingSequence[0].RealWorldValueSlope
Out[38]: 104.43508911132812
내 질문은 다음과 같습니다. 픽셀 값에서 실제 단위 (예 : 헤더에 설명 된 Bq / ml)를 가져 오기 위해 이러한 변환을 올바르게 적용하려면 어떻게해야합니까? ds.RescaleSlope와 RealWorldValueSlope를 모두 곱해야합니까? (제 경우에는 절편이 항상 0입니다). dicom 표준에 따르면 이 두 값이 실제로는 서로 관련이 없다고 말하고 있지만, ds.RescaleSlope는 무엇을합니까?
도움을 주시면 감사하겠습니다.
데이비드 Clunie입니다을 다음과 같은 경우 이 게시물에서 , Real World Value Mapping Sequence
이 경우에 사용되어야이 지원되지 않는 경우, 다시 조정 / 경사 대체되고. 나는 Real World Value Mapping Sequence
나 자신을 사용하지 않았기 때문에 (존재하는 경우 항상 디스플레이 파이프 라인에 모달리티 LUT를 적용했습니다), 그래서 이것에 대해 완전히 확신하지는 못합니다 ...
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다