코드를 살펴본 결과 코드가 매우 복잡해 보였습니다. WindowCenter
WindowWidth
또는 속성을 설정하는 현재의 구현에서 버 https://github.com/rcd/fo-dicom/blob/master/DICOM/Imaging/DicomImage.cs
는 Monochrome1
또는 Load()
중 하나 인 Monochrome2
Dataset.Get (DicomTag.PhotometricInterpretation)에만 효과가 있습니다. 이것은 이미 우습다. 그러나 _renderOptions
변수는 한 곳에서만 설정되고 _pipeline
생성 (즉, WindowCenter
속성을 사용하여 변경할 기회가 제공되지 않음)에 즉시 사용되기 때문에 여전히 사용할 수 없습니다. 유일한 기회는 그레이 스케일 _renderOptions
초기화입니다 : _renderOptions = GrayscaleRenderOptions.FromDataset(Dataset);
.
현재 솔루션 : 귀하의 데이터 세트가
DicomTag.WindowCenter
적절
DicomTag.WindowWidth != 0.0
DicomTag.PhotometricInterpretation == Monochrome1
또는 Monochrome2
다음 코드를 설정해야이 수행한다 :
DicomDataset dataset = DicomFile.Open(fileName).Dataset;
//dataset.Set(DicomTag.WindowWidth, 200.0); //the WindowWidth must be non-zero
dataset.Add(DicomTag.WindowCenter, "100.0");
//dataset.Add(DicomTag.PhotometricInterpretation, "MONOCHROME1"); //ValueRepresentations tag is broken
dataset.Add(new DicomCodeString(DicomTag.PhotometricInterpretation, "MONOCHROME1"));
DicomImage image = new DicomImage(dataset);
image.RenderImage();
최상의 해결책 :이 버그가있는 라이브러리가 수정되는 동안 기다려주십시오.
사용중인 DICOM 라이브러리에 대해 좀 더 명확히 알 수 있습니까? –
나는 Fellow Oak DICOM for .NET을 사용하고 있습니다. – hncl
같은 질문을 * fo-dicom * 토론 포럼에 게시하고 실행중인 소프트웨어 버전에 창 수준 버그가 있다는 응답을 받았음을 알게되었습니다. * Stackoverflow *의 일관성을 위해 포럼 응답을 기반으로 여기에 자신의 대답을 제공하고 * fo-dicom * 버전 1.0.26을 실행 중임을 질문에 표시하는 것이 좋습니다. –