我试图从PACS服务器下载dcm映像,但这将生成一个空dcm文件。
以下是守则:
public void VisoresPacsController(string ipAddress, string aeTitle, string accessId, int port)
{
/*
this.ipAddress = ipAddress;
this.aeTitle = aeTitle;
this.accessId = accessId;
this.port = port;
visores.Add(new VisorCommandLine("Radiant", ""));
///new DicomCStoreRequest.
*/
DicomClient client = new DicomClient();
var query = DicomCFindRequest.CreateImageQuery("1.2.250.1.31.2.723.19980722.113224.11597", "1.2.250.1.31.3.723.19980722.113224.11597");
client.AddRequest(query);
query.OnResponseReceived = onResponse;
client.Send("70.38.12.40", 4242, false, "THS", "ORTHANC");
}
public void onResponse(DicomCFindRequest req, DicomCFindResponse res)
{
DicomDataset dataset = res.Dataset;
dataset.Add(DicomTag.SOPClassUID, "1.2.250.1.31.4.723.19980722.113224.11597");
//dataset.Add(DicomTag.StudyInstanceUID, GenerateUid());
//dataset.Add(DicomTag.SeriesInstanceUID, GenerateUid());
//dataset.Add(DicomTag.SOPInstanceUID, GenerateUid());
DicomFile dicomFile = new DicomFile(dataset);
dicomFile.Save(@"C:\Users\Developer 13\Desktop\dicomfile.dcm");
}发布于 2017-06-02 05:42:43
C-查找不是用来获取整个DICOM文件的,而是用于过滤掉属于特定研究和系列的图像。如果在CreateImageQuery调用中指定的研究和系列实例UID可用在PACS的图像中,则PACS将响应C查找响应,其中数据集包含标识的每个图像的SOP实例UID。
然后,您将需要做一个C-GET或C-移动从PACS获得实际的图像。
有关如何使用各种网络调用的更多信息,请参见fo-dicom存储库的自述文件页面,或检查存储库中的网络单元测试。
https://stackoverflow.com/questions/44318168
复制相似问题