public Object setBytes(int tag, VR vr, byte[] b) { return setBytes(null, tag, vr, b); }
public void setCertificateOfSigner(byte[] b) { dcmItems.setBytes(Tag.CertificateOfSigner, VR.OB, b); }
public void setCertifiedTimestamp(byte[] b) { dcmItems.setBytes(Tag.CertifiedTimestamp, VR.OB, b); }
public void setSignature(byte[] b) { dcmItems.setBytes(Tag.Signature, VR.OB, b); }
private static void writePrivateTags(GraphicModel model, Attributes attributes) { try { JAXBContext jaxbContext = JAXBContext.newInstance(model.getClass()); Marshaller jaxbMarshaller = jaxbContext.createMarshaller(); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); jaxbMarshaller.marshal(model, outputStream); // jaxbMarshaller.marshal(model, System.out); attributes.setString(PresentationStateReader.PRIVATE_CREATOR_TAG, VR.LO, PresentationStateReader.PR_MODEL_ID); attributes.setBytes(PresentationStateReader.PR_MODEL_PRIVATE_TAG, VR.OB, GzipManager.gzipCompressToByte(outputStream.toByteArray())); } catch (Exception e) { LOGGER.error("Cannot save xml: ", e); //$NON-NLS-1$ } }
public static Attributes createFileMetaInformation(String iuid, String cuid, String tsuid) { if (iuid == null || iuid.isEmpty()) throw new IllegalArgumentException("Missing SOP Instance UID"); if (cuid == null || cuid.isEmpty()) throw new IllegalArgumentException("Missing SOP Class UID"); if (tsuid == null || tsuid.isEmpty()) throw new IllegalArgumentException("Missing Transfer Syntax UID"); Attributes fmi = new Attributes(6); fmi.setBytes(Tag.FileMetaInformationVersion, VR.OB, new byte[]{ 0, 1 }); fmi.setString(Tag.MediaStorageSOPClassUID, VR.UI, cuid); fmi.setString(Tag.MediaStorageSOPInstanceUID, VR.UI, iuid); fmi.setString(Tag.TransferSyntaxUID, VR.UI, tsuid); fmi.setString(Tag.ImplementationClassUID, VR.UI, Implementation.getClassUID()); fmi.setString(Tag.ImplementationVersionName, VR.SH, Implementation.getVersionName()); return fmi; }
private void extractEmbeddedOverlays(int frameIndex, BufferedImage bi) { for (int gg0000 : embeddedOverlays) { int ovlyRow = dataset.getInt(Tag.OverlayRows | gg0000, 0); int ovlyColumns = dataset.getInt(Tag.OverlayColumns | gg0000, 0); int ovlyBitPosition = dataset.getInt(Tag.OverlayBitPosition | gg0000, 0); int mask = 1 << ovlyBitPosition; int ovlyLength = ovlyRow * ovlyColumns; byte[] ovlyData = dataset.getSafeBytes(Tag.OverlayData | gg0000); if (ovlyData == null) { ovlyData = new byte[(((ovlyLength*frames+7)>>>3)+1)&(~1)]; dataset.setBytes(Tag.OverlayData | gg0000, VR.OB, ovlyData); } Overlays.extractFromPixeldata(bi.getRaster(), mask, ovlyData, ovlyLength * frameIndex, ovlyLength); LOG.debug("Extracted embedded overlay #{} from bit #{} of frame #{}", new Object[]{(gg0000 >>> 17) + 1, ovlyBitPosition, frameIndex + 1}); } }
private void extractEmbeddedOverlays() { for (int gg0000 : imageDescriptor.getEmbeddedOverlays()) { int ovlyRow = dataset.getInt(Tag.OverlayRows | gg0000, 0); int ovlyColumns = dataset.getInt(Tag.OverlayColumns | gg0000, 0); int ovlyBitPosition = dataset.getInt(Tag.OverlayBitPosition | gg0000, 0); int mask = 1 << ovlyBitPosition; int ovlyLength = ovlyRow * ovlyColumns; byte[] ovlyData = new byte[(((ovlyLength+7)>>>3)+1)&(~1)]; Overlays.extractFromPixeldata(bi.getRaster(), mask, ovlyData, 0, ovlyLength); dataset.setInt(Tag.OverlayBitsAllocated | gg0000, VR.US, 1); dataset.setInt(Tag.OverlayBitPosition | gg0000, VR.US, 0); dataset.setBytes(Tag.OverlayData | gg0000, VR.OB, ovlyData); LOG.debug("Extracted embedded overlay #{} from bit #{}", (gg0000 >>> 17) + 1, ovlyBitPosition); } }
dcmObj.setBytes(Tag.PixelData, VR.OW, bytesOut);
private void endDicomAttribute() { if (vr == VR.SQ) { seqs.removeLast().trimToSize(); return; } if (dataFragments != null) { dataFragments.trimToSize(); dataFragments = null; return; } Attributes attrs = items.getLast(); if (TagUtils.isFileMetaInformation(tag)) { if (fmi == null) fmi = new Attributes(); attrs = fmi; } if (bulkData != null) { attrs.setValue(privateCreator, tag, vr, bulkData); bulkData = null; } else if (inlineBinary) { attrs.setBytes(privateCreator, tag, vr, getBytes()); } else { attrs.setString(privateCreator, tag, vr, getStrings()); } }
|| tag == Tag.SpecificCharacterSet || TagUtils.isPrivateCreator(tag)) attrs.setBytes(tag, vr, b);
|| tag == Tag.SpecificCharacterSet || TagUtils.isPrivateCreator(tag)) attrs.setBytes(tag, vr, b);
iconItem.setInt(Tag.GreenPaletteColorLookupTableDescriptor, VR.US, lutDesc); iconItem.setInt(Tag.BluePaletteColorLookupTableDescriptor, VR.US, lutDesc); iconItem.setBytes(Tag.RedPaletteColorLookupTableData, VR.OW, r); iconItem.setBytes(Tag.GreenPaletteColorLookupTableData, VR.OW, g); iconItem.setBytes(Tag.BluePaletteColorLookupTableData, VR.OW, b); iconItem.setInt(Tag.BitsStored, VR.US, 8); iconItem.setInt(Tag.HighBit, VR.US, 7); iconItem.setBytes(Tag.PixelData, VR.OW, iconPixelData); return iconItem;
public Attributes createFileMetaInformation(String iuid, String cuid, String tsuid) { Attributes fmi = new Attributes(7); fmi.setBytes(Tag.FileMetaInformationVersion, VR.OB, new byte[] { 0, 1 }); fmi.setString(Tag.MediaStorageSOPClassUID, VR.UI, cuid); fmi.setString(Tag.MediaStorageSOPInstanceUID, VR.UI, iuid); fmi.setString(Tag.TransferSyntaxUID, VR.UI, tsuid); fmi.setString(Tag.ImplementationClassUID, VR.UI, getRemoteImplClassUID()); String versionName = getRemoteImplVersionName(); if (versionName != null) fmi.setString(Tag.ImplementationVersionName, VR.SH, versionName); fmi.setString(Tag.SourceApplicationEntityTitle, VR.AE, getRemoteAET()); return fmi; }
public Attributes createFileMetaInformation(String iuid, String cuid, String tsuid) { Attributes fmi = new Attributes(7); fmi.setBytes(Tag.FileMetaInformationVersion, VR.OB, new byte[] { 0, 1 }); fmi.setString(Tag.MediaStorageSOPClassUID, VR.UI, cuid); fmi.setString(Tag.MediaStorageSOPInstanceUID, VR.UI, iuid); fmi.setString(Tag.TransferSyntaxUID, VR.UI, tsuid); fmi.setString(Tag.ImplementationClassUID, VR.UI, getRemoteImplClassUID()); String versionName = getRemoteImplVersionName(); if (versionName != null) fmi.setString(Tag.ImplementationVersionName, VR.SH, versionName); fmi.setString(Tag.SourceApplicationEntityTitle, VR.AE, getRemoteAET()); return fmi; }
private void addPixelData(Attributes dest, Attributes src, int frame) { VR.Holder vr = new VR.Holder(); Object pixelData = src.getValue(Tag.PixelData, vr); if (pixelData instanceof byte[]) { dest.setBytes(Tag.PixelData, vr.vr, extractPixelData( (byte[]) pixelData, frame, calcFrameLength(src))); } else if (pixelData instanceof BulkData) { dest.setValue(Tag.PixelData, vr.vr, extractPixelData( (BulkData) pixelData, frame, calcFrameLength(src))); } else { Fragments destFrags = dest.newFragments(Tag.PixelData, vr.vr, 2); destFrags.add(null); destFrags.add(((Fragments) pixelData).get(frame + 1)); } }
private void addPixelData(Attributes dest, Attributes src, int frame) { VR.Holder vr = new VR.Holder(); Object pixelData = src.getValue(Tag.PixelData, vr); if (pixelData instanceof byte[]) { dest.setBytes(Tag.PixelData, vr.vr, extractPixelData( (byte[]) pixelData, frame, calcFrameLength(src))); } else if (pixelData instanceof BulkData) { dest.setValue(Tag.PixelData, vr.vr, extractPixelData( (BulkData) pixelData, frame, calcFrameLength(src))); } else { Fragments destFrags = dest.newFragments(Tag.PixelData, vr.vr, 2); destFrags.add(null); destFrags.add(((Fragments) pixelData).get(frame + 1)); } }
if (tag == Tag.TransferSyntaxUID || tag == Tag.SpecificCharacterSet) attrs.setBytes(tag, vr, b); writeValue(vr, b, dis.bigEndian(), attrs.getSpecificCharacterSet(vr), false);
@Override public void readValue(DicomInputStream dis, Attributes attrs) throws IOException { checkIsThis(dis); if (excludeBulkData) { skipFully(length); } else if (length == 0) { attrs.setNull(tag, vr); } else if (vr == VR.SQ) { readSequence(length, attrs, tag); } else if (length == -1) { readFragments(attrs, tag, vr); } else if (length == BulkData.MAGIC_LEN && super.in instanceof ObjectInputStream) { attrs.setValue(tag, vr, BulkData.deserializeFrom( (ObjectInputStream) super.in)); } else if (includeBulkDataURI) { attrs.setValue(tag, vr, bulkDataCreator.createBulkData(this)); } else { byte[] b = readValue(); if (!TagUtils.isGroupLength(tag)) { if (bigEndian != attrs.bigEndian()) vr.toggleEndian(b, false); attrs.setBytes(tag, vr, b); } else if (tag == Tag.FileMetaInformationGroupLength) setFileMetaInformationGroupLength(b); } }
if (tag == Tag.TransferSyntaxUID || tag == Tag.SpecificCharacterSet) attrs.setBytes(tag, vr, b); if (vr.isInlineBinary()) writeInlineBinary(dis.bigEndian()