2017-01-02 17 views
0

DICOM - 医療におけるデジタルイメージングとコミュニケーションは、医用イメージングにおける情報の取り扱い、保管、印刷、および伝達の標準です。これには、ファイル形式定義とネットワーク通信プロトコルが含まれます。iOSで(DICOM).dcmファイルを作成する方法Objective - C?

私のiosプロジェクトに.dcmファイルを書きたいと思います。 リンクを教えてください。

+0

あなたが使用できる場合Objective-C++では、[GDCM](http://gdcm.sourceforge.net/2.6/html/CreateARGBImage_8cxx-example.xhtml)を見ることができます – malat

+0

はいmそれを探しています –

答えて

1

Imebraは、iOS上でもDICOMファイルを読み取り、生成することができます。

それは、それはC++で書かれているiOSとOS-X用にもコンパイルするが、ファイルの拡張子ではなく.Mの.mm

バージョン4.0.8.1以降、Imebraであれば、それはObjectiveCの方法で使用することができますC++ NSStringsまでの文字列(またはその逆)を変換し、UIImage(またはNSImageでは)を抽出ことobjectiveC helpers数は(detailed instructions)ImebraでDICOMファイルを生成する

方法Imebraの画像からも含まれています

ANを作成します。空のデータセット:

// We specify the transfer syntax and the charset 
std::string transferSyntax(imebra::NSStringToString(@"1.2.840.10008.1.2.1")); 
std::string encoding(imebra::NSStringToString(@"ISO 2022 IR 6")); 
imebra::DataSet dataSet(transferSyntax, encoding); 

データセットに入れて、画像を作成します。

// Create a 300 by 200 pixel image, 15 bits per color channel, RGB 
std::string colorSpace(imebra::NSStringToString(@"RGB")); 
imebra::Image image(300, 200, imebra::bitDepth_t::depthU16, colorSpace, 15); 

{ 
    std::unique_ptr<WritingDataHandlerNumeric> dataHandler(image.getWritingDataHandler()); 

    // Set all the pixels to red 
    for(std::uint32_t scanY(0); scanY != 200; ++scanY) 
    { 
     for(std::uint32_t scanX(0); scanX != 300; ++scanX) 
     { 
      dataHandler->setUnsignedLong((scanY * 300 + scanX) * 3, 65535); 
      dataHandler->setUnsignedLong((scanY * 300 + scanX) * 3 + 1, 0); 
      dataHandler->setUnsignedLong((scanY * 300 + scanX) * 3 + 2, 0); 
     } 
    } 

    // dataHandler will go out of scope and will commit the data into the image 
} 

dataSet.setImage(0, image); 

保存データセットを

std::string fileName(NSStringToString(@"path/to/file.dcm")); 
imebra::CodecFactory::save(dataSet, fileName, imebra::codecType_t::dicom); 

(disclusure:私はImebraの著者だ)

+0

Imebraの使い方Xcode、iOSプロジェクトでimebraをビルドするにはどのような手順が必要ですか? –

+0

@DeepakKumarドキュメンテーション:https://imebra.com/wp-content/uploads/documentation/html/compiling_imebra.html#os-x-ios-specific-instructions –

+0

iOS向けのimebraのドキュメントに従って、imebraを正常にビルドしますcmakeを通して、今何のステップが続くべきですかcmakeビルドの後に –

関連する問題