コードを見たところ、非常にバグが多かったようです。https://github.com/rcd/fo-dicom/blob/master/DICOM/Imaging/DicomImage.cs
現在のバグのある実装では、Dataset.Get(DicomTag.PhotometricInterpretation) がまたはduringでない限り、WindowCenter
またはプロパティの設定は効果がありません。これはすでにばかげていますが、変数は 1 つの場所でのみ設定され、作成にすぐに使用されるため、使用できません (プロパティを使用して変数を変更する機会がありません)。唯一のチャンスは、グレースケールの初期化です: .WindowWidth
Monochrome1
Monochrome2
Load()
_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();
最善の解決策: このバグのあるライブラリが修正されるまで待ちます。