public PDataTF(DICOMObject dicom, bool isLastItem, bool isCommandObject, PresentationContext context) : this() { byte[] data; using (var stream = new MemoryStream()) { using (var dw = new DICOMBinaryWriter(stream)) { var settings = new DICOMWriteSettings(); settings.TransferSyntax = isCommandObject ? TransferSyntax.IMPLICIT_VR_LITTLE_ENDIAN : TransferSyntaxHelper.GetSyntax(context.TransferSyntaxes[0]); DICOMObjectWriter.Write(dw, settings, dicom); data = stream.ToArray(); } } var frag = new PDVItemFragment(); frag.Data = data; frag.IsLastItem = isLastItem; frag.IsCommandObject = isCommandObject; var item = new PDVItem(); item.Fragment = frag; item.PresentationContextID = context.Id; Items.Add(item); }
private static void WritePDVFragmentMessageHeader(DICOMBinaryWriter dw, PDVItemFragment frag) { var bits = new BitArray(8); bits.Set(0, frag.IsCommandObject); bits.Set(1, frag.IsLastItem); var bytes = new byte[1]; bits.CopyTo(bytes, 0); dw.Write(bytes[0]); }
public static PDVItemFragment ReadPDVFragment(DICOMBinaryReader dr, int length) { var pif = new PDVItemFragment(); byte messageHeader = dr.Take(1)[0]; pif.IsCommandObject = messageHeader.GetBit(0); pif.IsLastItem = messageHeader.GetBit(1); pif.Data = dr.ReadBytes(length - 1); return pif; }
public static PDVItemFragment ReadPDVFragment(DICOMBinaryReader dr, int length) { var pif = new PDVItemFragment(); var messageHeader = dr.Take(1)[0]; pif.IsCommandObject = messageHeader.GetBit(0); pif.IsLastItem = messageHeader.GetBit(1); pif.Data = dr.ReadBytes(length - 1); return(pif); }
private static void WritePDVFragmentMessageHeader(DICOMBinaryWriter dw, PDVItemFragment frag) { var bits = new BitArray(8); bits.Set(0, frag.IsCommandObject); bits.Set(1, frag.IsLastItem); var bytes = new byte[1]; ((ICollection)bits).CopyTo(bytes, 0); dw.Write(bytes[0]); }
public PDataTF(byte[] data, bool isLastItem, bool isCommandObject, PresentationContext context) : this() { var frag = new PDVItemFragment(); frag.Data = data; frag.IsLastItem = isLastItem; frag.IsCommandObject = isCommandObject; var item = new PDVItem(); item.Fragment = frag; item.PresentationContextID = context.Id; Items.Add(item); }
public static void WritePDVFragment(DICOMBinaryWriter dw, PDVItemFragment frag) { WritePDVFragmentMessageHeader(dw, frag); dw.Write(frag.Data); }