private static int MSB = -2147483648; // 0x80000000 public DicomJpegLosslessDecoderImpl(IByteBuffer data) { _buffer = new ByteBufferByteSource(data) { Endian = Endian.Big }; _frame = new FrameHeader(); _scan = new ScanHeader(); _quantTable = new QuantizationTable(); _huffTable = new HuffmanTable(); }
private static DicomDataset ReadFragment(byte[] bytes, Endian endian, bool explicitVr) { var dataset = new DicomDataset(); var reader = new DicomReader { IsExplicitVR = explicitVr }; var byteSource = new ByteBufferByteSource(new MemoryByteBuffer(bytes)) { Endian = endian }; reader.Read(byteSource, new DicomDatasetReaderObserver(dataset)); return(dataset); }
internal RLEDecoder(IByteBuffer data) { var source = new ByteBufferByteSource(data) { Endian = Endian.Little }; NumberOfSegments = source.GetInt32(); _offsets = new int[15]; for (var i = 0; i < 15; ++i) { _offsets[i] = source.GetInt32(); } _data = data.Data; }
private DicomDataset DeepClone_(DicomDataset dataset) { var ms = new MemoryStream(); var target = new StreamByteTarget(ms); var writer = new DicomWriter(DicomTransferSyntax.ImplicitVRLittleEndian, DicomWriteOptions.Default, target); var walker = new DicomDatasetWalker(dataset); walker.Walk(writer); var clone = new DicomDataset(); var reader = new DicomReader { IsExplicitVR = false }; var byteSource = new ByteBufferByteSource( new MemoryByteBuffer(ms.ToArray())); reader.Read(byteSource, new DicomDatasetReaderObserver(clone)); return(clone); }
private bool disposedValue = false; // To detect redundant calls protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { _huffTable = null; _quantTable = null; _quantTable = null; _scan = null; _frame = null; _buffer = null; } // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below. // TODO: set large fields to null. disposedValue = true; } }