Example #1
0
 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);
 }
Example #2
0
 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]);
 }
Example #3
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;
 }
Example #4
0
        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);
        }
Example #5
0
        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]);
        }
Example #6
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);
 }
Example #7
0
 public static void WritePDVFragment(DICOMBinaryWriter dw, PDVItemFragment frag)
 {
     WritePDVFragmentMessageHeader(dw, frag);
     dw.Write(frag.Data);
 }
Example #8
0
 public static void WritePDVFragment(DICOMBinaryWriter dw, PDVItemFragment frag)
 {
     WritePDVFragmentMessageHeader(dw, frag);
     dw.Write(frag.Data);
 }