위의 예는 작동하지만 DICOMs에 대해 불평하는 많은 도구를 야기하고 심지어 스택으로/SimpleITK ITK를 사용하여 전혀 읽을 수 없습니다 . DICOM을 numpy에서 만드는 가장 좋은 방법은 SimpleITK 도구를 사용하고 DICOM 슬라이스를 생성하는 것입니다. 기본적인 예 (https://github.com/zivy/SimpleITK/blob/8e94451e4c0e90bcc6a1ffdd7bc3d56c81f58d80/Examples/DicomSeriesReadModifyWrite/DicomSeriesReadModifySeriesWrite.py)은 매우 큰, 스택으로로드 변환을 수행하고 파일을 다시 저장 있지만 쉽게 궁극적으로 출력 이미지 태그
import SimpleITK as sitk
filtered_image = sitk.GetImageFromArray(my_numpy_array)
개수를 이용하여 수정 될 수있는 방법을 도시 수동으로 생성하는 것은 지루합니다. 또한 SimpleITK는 8, 16, 32 비트 이미지와 RGB를 지원하므로 pydicom에서 만드는 것보다 훨씬 쉽습니다.
(0008, 0008) Image Type CS: ['DERIVED', 'SECONDARY']
(0008, 0016) SOP Class UID UI: Secondary Capture Image Storage
(0008, 0018) SOP Instance UID UI: 1.2.826.0.1.3680043.2.1125.1.35596048796922805578234000521866725
(0008, 0020) Study Date DA: '20170803'
(0008, 0021) Series Date DA: '20170803'
(0008, 0023) Content Date DA: 0
(0008, 0030) Study Time TM: '080429.171808'
(0008, 0031) Series Time TM: '080429'
(0008, 0033) Content Time TM: 0
(0008, 0050) Accession Number SH: ''
(0008, 0060) Modality CS: 'OT'
(0008, 0064) Conversion Type CS: 'WSD'
(0008, 0090) Referring Physician's Name PN: ''
(0010, 0010) Patient's Name PN: ''
(0010, 0020) Patient ID LO: ''
(0010, 0030) Patient's Birth Date DA: ''
(0010, 0040) Patient's Sex CS: ''
(0018, 2010) Nominal Scanned Pixel Spacing DS: ['1', '3']
(0020, 000d) Study Instance UID UI: 1.2.826.0.1.3680043.2.1125.1.33389357207068897066210100430826006
(0020, 000e) Series Instance UID UI: 1.2.826.0.1.3680043.2.1125.1.51488923827429438625199681257282809
(0020, 0010) Study ID SH: ''
(0020, 0011) Series Number IS: ''
(0020, 0013) Instance Number IS: ''
(0020, 0020) Patient Orientation CS: ''
(0020, 0052) Frame of Reference UID UI: 1.2.826.0.1.3680043.2.1125.1.35696880630664441938326682384062489
(0028, 0002) Samples per Pixel US: 1
(0028, 0004) Photometric Interpretation CS: 'MONOCHROME2'
(0028, 0010) Rows US: 40
(0028, 0011) Columns US: 50
(0028, 0100) Bits Allocated US: 32
(0028, 0101) Bits Stored US: 32
(0028, 0102) High Bit US: 31
(0028, 0103) Pixel Representation US: 1
(0028, 1052) Rescale Intercept DS: "0"
(0028, 1053) Rescale Slope DS: "1"
(0028, 1054) Rescale Type LO: 'US'
(7fe0, 0010) Pixel Data OW: Array of 8000 bytes
'write_dicom' 함수에 여기에 표시 한 것보다 많은 연산이 포함되어 있습니까? 그렇지 않으면 픽셀 데이터 만있는 파일을 만드는 것처럼 보이며 유효한 DICOM 파일이 아닙니다. 파일이 DICOM을 준수하도록하려면 연구, 시리즈, 인스턴스 UID : s, 이미지 양식, 환자 데이터 등을 입력해야합니다. –
파일에 DICOM 헤더 정보의 덤프를 제공 할 수 있습니까? 물론 환자 이름 등이 적혀 있습니다. 다음은 DICOM 파일에 대한이 정보를 볼 수있는 워싱턴 대학교의 매우 유용한 (무료) 도구에 대한 링크입니다. http://nrg.wustl.edu/software/dicom-browser/ – Matt
GDCM의 FAQ에는 왜 무작위 래스터 이미지 형식의 합법적 인 DICOM은 어렵습니다. http://sourceforge.net/apps/mediawiki/gdcm/index.php?title=General_questions#How_do_I_convert_my_raster_image_format_X_into_DICOM_.3F – timday