void MGPWorkitem::import(const MDomainObject& o) { SOPInstanceUID(o.value("sopinsuid")); SOPClassUID(o.value("sopclassuid")); status(o.value("status")); inputAvailabilityFlag(o.value("inputavailflag")); priority(o.value("priority")); procedureStepID(o.value("procstepid")); startDateTime(o.value("startdattim")); endDateTime(o.value("enddattim")); resultStudyInstanceUID(o.value("resultstuinsuid")); inputStudyInstanceUID(o.value("inputstuinsuid")); multipleCopiesFlag(o.value("multcopyflag")); description(o.value("description")); patientID(o.value("patientid")); patientName(o.value("patientname")); patientBirthDate(o.value("birthdate")); patientSex(o.value("sex")); workItemCodeValue(o.value("workitemcodevalue")); workItemCodeScheme(o.value("workitemcodescheme")); workItemCodeMeaning(o.value("workitemcodemeaning")); requestedProcAccessionNum(o.value("reqprocAccessionNum")); requestedProcID(o.value("reqprocID")); requestedProcDesc(o.value("reqprocDesc")); requestedProcCodevalue(o.value("reqprocCodevalue")); requestedProcCodemeaning(o.value("reqprocCodemeaning")); requestedProcCodescheme(o.value("reqprocCodescheme")); requestingPhysician(o.value("requestingPhys")); transactionUID(o.value("transactionUID")); }
bool DiffusionIOMimeTypes::FiberBundleDicomMimeType::AppliesTo(const std::string &path) const { try { std::ifstream myfile; myfile.open (path, std::ios::binary); // myfile.seekg (128); char *buffer = new char [128]; myfile.read (buffer,128); myfile.read (buffer,4); if (std::string(buffer).compare("DICM")!=0) { delete[] buffer; return false; } delete[] buffer; mitk::DICOMDCMTKTagScanner::Pointer scanner = mitk::DICOMDCMTKTagScanner::New(); mitk::DICOMTag SOPInstanceUID(0x0008, 0x0016); mitk::StringList relevantFiles; relevantFiles.push_back(path); scanner->AddTag(SOPInstanceUID); scanner->SetInputFiles(relevantFiles); scanner->Scan(); mitk::DICOMTagCache::Pointer tagCache = scanner->GetScanCache(); mitk::DICOMImageFrameList imageFrameList = mitk::ConvertToDICOMImageFrameList(tagCache->GetFrameInfoList()); if (imageFrameList.empty()) return false; mitk::DICOMImageFrameInfo *firstFrame = imageFrameList.begin()->GetPointer(); std::string tag_value = tagCache->GetTagValue(firstFrame, SOPInstanceUID).value; if (tag_value.empty()) { return false; } if (tag_value.compare(UID_TractographyResultsStorage)!=0) return false; return true; } catch (std::exception& e) { MITK_INFO << e.what(); } return false; }