Example #1
0
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"));
}
Example #2
0
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;
}