「生きたソフトウェア」を提供する医用画像ソフトウェアの研究・開発・販売専門会社
PowerDICOMサンプルプログラム

サンプルプログラム

SCUプログラムのサンプルソースコード例

bool ClientCallback(CPDMessenger* pMessenger, void* pPrivateData){
    PD_SENDINFO* pSendInfo = (PD_SENDINFO*)pPrivateData;
    CPDDataSet* pDataSet = pSendInfo->pDataSet;
    pMessenger->AppendCStoreRqCmd(pDataSet);
    if(!pMessenger->SendMessage(pDataSet)){
        PD_UserLog0(PD_LogLevel_Fatal, "Failed to send C-STORE-RQ.");
        return false;
    }
    CPDDataSet* pRsp = PD_ReceiveRsp(pMessenger,
        PD_MsgType_C_STORE_RSP, &(pSendInfo->mStatus));
    if(!pRsp){
        PD_UserLog0(PD_LogLevel_Fatal, "Failed to receive C-STORE-RSP.");
        return false;
    }
    delete pRsp;
    return true;
}

SCPプログラムのサンプルソースコード例

bool ServerCallback(CPDMessenger* pMessenger, void* pPrivateData){
    while(true){
        PD_MsgType mMsgType = pMessenger->ReceiveMessage();
        if(mMsgType == PD_MsgType_A_RELEASE_RQ){
            PD_DebugInfo(1, "Received A-RELEASE-RQ.");
            break;
        }
        else if(mMsgType == PD_MsgType_C_STORE_RQ){
            PD_DebugInfo(1, "Received C-STORE-RQ.");
            CPDDataSet* pDataSet = pMessenger->GetReceivedDataSet();
            CPDSaveDICOM cSaveDICOM;
            bool bRet = cSaveDICOM.SaveDICOM(pDataSet);
            CPDDataSet* pRsp = pMessenger->CreateCStoreRsp(pDataSet,
                bRet ? PD_Status_Success : PD_Status_Unable_to_process);
            bRet = pMessenger->SendMessage(pRsp);
            delete pRsp;
            if(!bRet){
                return false;
            }
        }
        else if(mMsgType == PD_MsgType_Invalid){
            PD_DebugInfo(1, "Receive error.");
            return false;
        }
        else if(mMsgType == PD_MsgType_A_ABORT_RQ){
            PD_DebugInfo(1, "Received A-ABORT.");
            return false;
        }
        else {
            PD_DebugInfo(1, "Received %d.", mMsgType);
            return false;
        }
    }
    return true;
}

パッケージに付属するサンプルプログラム一覧

パッケージには、下記のサンプルプログラムがフルソースコードで付属しています。

ClarityDEMO
ImageClarity 総合 サンプルプログラム
CommitSCP
保存保証 SCP サンプルプログラム
CommitSCU
保存保証 SCU サンプルプログラム
DirRead
DICOMDIR 読み込み サンプルプログラム
DirWrite
DICOMDIR 書き込み サンプルプログラム
DumpFile
DICOM ファイル タグ情報一覧表示 サンプルプログラム
EchoSCU
検証 SCU サンプルプログラム (検証 SCP 機能は PowerDICOM に内蔵)
GetPixel
コールバック機能によるマルチフレーム DICOM 画像のピクセルデータの取得
GetRaw
圧縮 DICOM 画像のピクセルデータの解凍
LoadDICOM
複数 DICOM 画像ファイルのバッチ処理
MakeDICOM
DICOM 画像ファイルの作成
MakeJPEG
RAW データからの JPEG 画像ファイルの作成
MppsSCP
MPPS SCP サンプルプログラム
MppsSCU
MPPS SCU サンプルプログラム
PowerDEMO
PowerDICOM 総合 サンプルプログラム (NTサービス、試用期間機能を含む)
PrintSCP
DICOM 印刷 SCP サンプルプログラム
PrintSCU
DICOM 印刷 SCU サンプルプログラム
QuerySCP
DICOM 照合・取得 SCP サンプルプログラム
QuerySCU
DICOM 照合・取得 SCU サンプルプログラム
StoreSCP
DICOM 保存 SCP サンプルプログラム
StoreSCU
DICOM 保存 SCU サンプルプログラム
TCPServer
TCP/IPソケット通信サーバサンプルプログラム
TCPClient
TCP/IPソケット通信クライアントサンプルプログラム
WorkSCP
DICOM ワークリスト SCP サンプルプログラム
WorkSCU
DICOM ワークリスト SCU サンプルプログラム