私のC#Silverlightアプリケーションでは、FJCoreクラスライブラリを使用して、圧縮されたJPEG転送構文でDICOM画像をデコードしようとしています。
DICOM画像は通常12ビットの精度で圧縮されます。元のFJCoreソースコードを使用してこのような画像をデコードしようとすると、「サポートされていないコーデックタイプ」という例外が発生します。これは、元のFJCore実装では、SOF0(ベースラインDCT)とSOF2(プログレッシブDCT)のフレーム開始マーカーのみであるためです。サポートされています。SOF1マーカー(Extended Sequential DCT)も受け入れ、SOF1フレームをSOF0フレームと同じように扱うように実装を変更すると、画像はデコードされますが、8ビットのみが考慮されます。
変更されたFJCoreライブラリを使用してデコードすると、一般的な12ビットの高精度画像は次のようになります。

理想的には、画像は次のようになります。

FJCoreの実装からわかる限り、画像の精度はJpegFrameクラスに記録されますが、使用されることはありません。元のFJCore実装は、8ビット精度のグレースケール画像のみを完全にサポートしているようです。
私は「雄牛を角で捕まえる」ことを計画しており、グレースケール画像の12ビット精度をサポートするためにFJCoreを自分で拡張しようとしています。しかし、その前に、StackOverflowで質問をして、誰かがこの問題に遭遇して解決したことがあるかどうかを確認する必要があると思いました。その場合、あなたがどのように問題を解決したかを知ってとてもうれしく思います。
よろしくお願いします!
アンダース@キュレオス