in import/src/main/java/com/google/cloud/healthcare/imaging/dicomadapter/cstore/DicomStreamUtil.java [31:48]
public static InputStream dicomStreamWithFileMetaHeader(
String sopInstanceUID,
String sopClassUID,
String transferSyntax,
InputStream inDicomStream) // PDVInputStream
throws IOException {
// File meta header (group 0002 tags), always in Explicit VR Little Endian.
// http://dicom.nema.org/dicom/2013/output/chtml/part10/chapter_7.html
ByteArrayOutputStream outBuffer = new ByteArrayOutputStream();
DicomOutputStream fmiStream = new DicomOutputStream(outBuffer, UID.ExplicitVRLittleEndian);
Attributes fmi =
Attributes.createFileMetaInformation(sopInstanceUID, sopClassUID, transferSyntax);
fmiStream.writeFileMetaInformation(fmi);
// Add the file meta header + DICOM dataset (other groups) as a sequence of input streams.
return new SequenceInputStream(
new ByteArrayInputStream(outBuffer.toByteArray()), inDicomStream);
}