org.dcm4che3.data.Attributes.createFileMetaInformation()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(9.9k)|赞(0)|评价(0)|浏览(185)

本文整理了Java中org.dcm4che3.data.Attributes.createFileMetaInformation()方法的一些代码示例,展示了Attributes.createFileMetaInformation()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Attributes.createFileMetaInformation()方法的具体详情如下:
包路径:org.dcm4che3.data.Attributes
类名称:Attributes
方法名:createFileMetaInformation

Attributes.createFileMetaInformation介绍

暂无

代码示例

代码示例来源:origin: dcm4che/dcm4che

public static void createEmptyDirectory(File file, String iuid,
    String id, File descFile, String charset) throws IOException {
  Attributes fmi = Attributes.createFileMetaInformation(iuid,
      UID.MediaStorageDirectoryStorage, UID.ExplicitVRLittleEndian);
  createEmptyDirectory(file, fmi, id, descFile, charset);
}

代码示例来源:origin: dcm4che/dcm4che

private void convert(File infile, File outfile) throws IOException {
  long fileLength = infile.length();
  if (fileLength > MAX_FILE_SIZE)
    throw new IllegalArgumentException(MessageFormat.format(rb.getString("file-too-large"), infile));
  try (DicomOutputStream dos = new DicomOutputStream(outfile)) {
    dos.writeDataset(metadata.createFileMetaInformation(UID.ExplicitVRLittleEndian), metadata);
    dos.writeAttribute(Tag.EncapsulatedDocument, VR.OB, Files.readAllBytes(infile.toPath()));
  }
  System.out.println(MessageFormat.format(rb.getString("converted"), infile, outfile));
}

代码示例来源:origin: org.dcm4che.tool/dcm4che-tool-pdf2dcm

private void convert(File infile, File outfile) throws IOException {
  long fileLength = infile.length();
  if (fileLength > MAX_FILE_SIZE)
    throw new IllegalArgumentException(MessageFormat.format(rb.getString("file-too-large"), infile));
  try (DicomOutputStream dos = new DicomOutputStream(outfile)) {
    dos.writeDataset(metadata.createFileMetaInformation(UID.ExplicitVRLittleEndian), metadata);
    dos.writeAttribute(Tag.EncapsulatedDocument, VR.OB, Files.readAllBytes(infile.toPath()));
  }
  System.out.println(MessageFormat.format(rb.getString("converted"), infile, outfile));
}

代码示例来源:origin: nroduit/Weasis

private static boolean saveToFile(File output, Attributes dcm) {
    if (dcm != null) {
      try (DicomOutputStream out = new DicomOutputStream(output)) {
        out.writeDataset(dcm.createFileMetaInformation(UID.ImplicitVRLittleEndian), dcm);
        return true;
      } catch (IOException e) {
        LOGGER.error("Cannot write dicom PR: {}", e); //$NON-NLS-1$
      }
    }
    return false;
  }
}

代码示例来源:origin: org.dcm4che.tool/dcm4che-tool-mkkos

public void writeKOS() throws IOException {
  DicomOutputStream dos = new DicomOutputStream(
      new BufferedOutputStream(fname != null 
          ? new FileOutputStream(fname)
          : new FileOutputStream(FileDescriptor.out)),
      nofmi ? UID.ImplicitVRLittleEndian
         : UID.ExplicitVRLittleEndian);
  dos.setEncodingOptions(encOpts);
  try {
    dos.writeDataset(
        nofmi ? null : kos.createFileMetaInformation(tsuid),
        kos);
  } finally {
    dos.close();
  }
}

代码示例来源:origin: dcm4che/dcm4che

public void writeKOS() throws IOException {
  DicomOutputStream dos = new DicomOutputStream(
      new BufferedOutputStream(fname != null 
          ? new FileOutputStream(fname)
          : new FileOutputStream(FileDescriptor.out)),
      nofmi ? UID.ImplicitVRLittleEndian
         : UID.ExplicitVRLittleEndian);
  dos.setEncodingOptions(encOpts);
  try {
    dos.writeDataset(
        nofmi ? null : kos.createFileMetaInformation(tsuid),
        kos);
  } finally {
    dos.close();
  }
}

代码示例来源:origin: dcm4che/dcm4che

public Attributes createFileMetaInformation(String tsuid) {
  return createFileMetaInformation(
      getString(Tag.SOPInstanceUID, null),
      getString(Tag.SOPClassUID, null),
      tsuid);
}

代码示例来源:origin: dcm4che/dcm4che

private void writeDataset() throws IOException {
  Attributes fmi = null;
  if (includeFileMetaInformation) {
    if (retainFileMetaInformation)
      fmi = dis.getFileMetaInformation();
    if (fmi == null)
      fmi = dataset.createFileMetaInformation(destTransferSyntax);
    else
      fmi.setString(Tag.TransferSyntaxUID, VR.UI, destTransferSyntax);
  }
  dos.writeDataset(fmi, dataset);
}

代码示例来源:origin: dcm4che/dcm4che

private void extract(File file, Attributes fmi, Attributes src, int frame)
    throws IOException {
  Attributes sf = extractor.extract(src, frame);
  DicomOutputStream out = new DicomOutputStream(
      new File(outDir, fname(file, frame+1)));
  try {
    out.writeDataset(fmi != null
        ? sf.createFileMetaInformation(
            fmi.getString(Tag.TransferSyntaxUID))
        : null, sf);
    System.out.print('.');
  } finally {
    SafeClose.close(out);
  }
}

代码示例来源:origin: org.dcm4che.tool/dcm4che-tool-emf2sf

private void extract(File file, Attributes fmi, Attributes src, int frame)
    throws IOException {
  Attributes sf = extractor.extract(src, frame);
  DicomOutputStream out = new DicomOutputStream(
      new File(outDir, fname(file, frame+1)));
  try {
    out.writeDataset(fmi != null
        ? sf.createFileMetaInformation(
            fmi.getString(Tag.TransferSyntaxUID))
        : null, sf);
    System.out.print('.');
  } finally {
    SafeClose.close(out);
  }
}

代码示例来源:origin: dcm4che/dcm4che

public void writeTo(OutputStream out) throws IOException {
  if (nofmi)
    fmi = null;
  else if (fmi == null
      ? withfmi
      : tsuid != null && !tsuid.equals(
          fmi.getString(Tag.TransferSyntaxUID, null))) {
    fmi = dataset.createFileMetaInformation(tsuid);
  }
  DicomOutputStream dos = new DicomOutputStream(
      new BufferedOutputStream(out),
      fmi != null
          ? UID.ExplicitVRLittleEndian
          : tsuid != null 
              ? tsuid
              : UID.ImplicitVRLittleEndian);
  dos.setEncodingOptions(encOpts);
  dos.writeDataset(fmi, dataset);
  dos.finish();
  dos.flush();
}

代码示例来源:origin: nroduit/Weasis

@Override
public boolean buildFile(File output) {
  // When object is in memory, write it
  if (isEditableDicom()) {
    Attributes dcm = getDicomObject();
    if (dcm != null) {
      try (DicomOutputStream out = new DicomOutputStream(output)) {
        out.writeDataset(dcm.createFileMetaInformation(UID.ImplicitVRLittleEndian), dcm);
        return true;
      } catch (IOException e) {
        LOGGER.error("Cannot write dicom file", e); //$NON-NLS-1$
      }
    }
  }
  return false;
}

代码示例来源:origin: dcm4che/dcm4che

private int readCSVFile(int num) throws Exception {
  if (recordConfig != null)
    loadCustomConfiguration();
  try(BufferedReader br = new BufferedReader(new FileReader(csv))) {
    CSVParser parser = new CSVParser(delim, quote, br.readLine());
    String nextLine;
    while((nextLine = br.readLine()) != null) {
      checkOut();
      checkRecordFactory();
      Attributes dataset = parser.toDataset(nextLine);
      if (dataset != null) {
        String iuid = dataset.getString(Tag.SOPInstanceUID);
        char prompt = '.';
        Attributes fmi = null;
        if (iuid != null) {
          fmi = dataset.createFileMetaInformation(UID.ImplicitVRLittleEndian);
          prompt = 'F';
        }
        num = addRecords(dataset, num, null, prompt, iuid, fmi);
      }
    }
  }
  return num;
}

代码示例来源:origin: nroduit/Weasis

public File getDicomFile() {
  Attributes dcm = getDicomObject();
  DicomOutputStream out = null;
  try {
    File file = imageCV.getFile();
    BulkData bdl = new BulkData(file.toURI().toString(), FileRawImage.HEADER_LENGTH,
      (int) file.length() - FileRawImage.HEADER_LENGTH, false);
    dcm.setValue(Tag.PixelData, VR.OW, bdl);
    File tmpFile = new File(DicomMediaIO.DICOM_EXPORT_DIR, dcm.getString(Tag.SOPInstanceUID));
    out = new DicomOutputStream(tmpFile);
    out.writeDataset(dcm.createFileMetaInformation(UID.ImplicitVRLittleEndian), dcm);
    return tmpFile;
  } catch (IOException e) {
    LOGGER.error("Cannot write dicom file", e); //$NON-NLS-1$
  } finally {
    FileUtil.safeClose(out);
  }
  return null;
}

代码示例来源:origin: dcm4che/dcm4che

public void writeTo(OutputStream out) throws IOException {
  if (nofmi)
    fmi = null;
  else if (fmi == null
      ? withfmi
      : tsuid != null && !tsuid.equals(
          fmi.getString(Tag.TransferSyntaxUID, null))) {
    fmi = dataset.createFileMetaInformation(tsuid);
  }
  @SuppressWarnings("resource")
  DicomOutputStream dos = new DicomOutputStream(
      new BufferedOutputStream(out),
      fmi != null
          ? UID.ExplicitVRLittleEndian
          : tsuid != null 
              ? tsuid
              : UID.ImplicitVRLittleEndian);
  dos.setEncodingOptions(encOpts);
  dos.writeDataset(fmi, dataset);
  dos.finish();
  dos.flush();
}

代码示例来源:origin: org.dcm4che.tool/dcm4che-tool-json2dcm

public void writeTo(OutputStream out) throws IOException {
  if (nofmi)
    fmi = null;
  else if (fmi == null
      ? withfmi
      : tsuid != null && !tsuid.equals(
          fmi.getString(Tag.TransferSyntaxUID, null))) {
    fmi = dataset.createFileMetaInformation(tsuid);
  }
  @SuppressWarnings("resource")
  DicomOutputStream dos = new DicomOutputStream(
      new BufferedOutputStream(out),
      fmi != null
          ? UID.ExplicitVRLittleEndian
          : tsuid != null 
              ? tsuid
              : UID.ImplicitVRLittleEndian);
  dos.setEncodingOptions(encOpts);
  dos.writeDataset(fmi, dataset);
  dos.finish();
  dos.flush();
}

代码示例来源:origin: dcm4che/dcm4che

private Attributes eventRecord(Association as, Attributes cmd, Attributes eventInfo)
      throws DicomServiceException {
    if (storageDir == null)
      return null;

    String cuid = cmd.getString(Tag.AffectedSOPClassUID);
    String iuid = cmd.getString(Tag.AffectedSOPInstanceUID);
    String tuid = eventInfo.getString(Tag.TransactionUID);
    File file = new File(storageDir, tuid );
    DicomOutputStream out = null;
    LOG.info("{}: M-WRITE {}", as, file);
    try {
      out = new DicomOutputStream(file);
      out.writeDataset(
          Attributes.createFileMetaInformation(iuid, cuid,
              UID.ExplicitVRLittleEndian),
          eventInfo);
    } catch (IOException e) {
      LOG.warn(as + ": Failed to store Storage Commitment Result:", e);
      throw new DicomServiceException(Status.ProcessingFailure, e);
    } finally {
      SafeClose.close(out);
    }
    return null;
  }
}

代码示例来源:origin: nroduit/Weasis

@Override
public boolean saveToFile(File output) {
  // When object is in memory, write it
  if (getMediaReader().isEditableDicom()) {
    Attributes dcm = getMediaReader().getDicomObject();
    if (dcm != null) {
      try (DicomOutputStream out = new DicomOutputStream(output)) {
        out.writeDataset(dcm.createFileMetaInformation(UID.ImplicitVRLittleEndian), dcm);
        return true;
      } catch (IOException e) {
        LOGGER.error("Cannot write dicom ({}): {}", getLabel(), e); //$NON-NLS-1$
      }
    }
  }
  return super.saveToFile(output);
}

代码示例来源:origin: dcm4che/dcm4che

public void transcode(File src, File dest) throws IOException {
  Attributes fmi;
  Attributes dataset;
  try (DicomInputStream dis = new DicomInputStream(src)) {
    dis.setIncludeBulkData(IncludeBulkData.URI);
    fmi = dis.readFileMetaInformation();
    dataset = dis.readDataset(-1, -1);
  }
  deidentifier.deidentify(dataset);
  if (fmi != null)
    fmi = dataset.createFileMetaInformation(fmi.getString(Tag.TransferSyntaxUID));
  try (DicomOutputStream dos = new DicomOutputStream(dest)) {
    dos.setEncodingOptions(encOpts);
    dos.writeDataset(fmi, dataset);
  }
}

代码示例来源:origin: org.dcm4che.tool/dcm4che-tool-deidentify

public void transcode(File src, File dest) throws IOException {
  Attributes fmi;
  Attributes dataset;
  try (DicomInputStream dis = new DicomInputStream(src)) {
    dis.setIncludeBulkData(IncludeBulkData.URI);
    fmi = dis.readFileMetaInformation();
    dataset = dis.readDataset(-1, -1);
  }
  deidentifier.deidentify(dataset);
  if (fmi != null)
    fmi = dataset.createFileMetaInformation(fmi.getString(Tag.TransferSyntaxUID));
  try (DicomOutputStream dos = new DicomOutputStream(dest)) {
    dos.setEncodingOptions(encOpts);
    dos.writeDataset(fmi, dataset);
  }
}

相关文章

微信公众号

最新文章

更多