internal SliceStreamReader(VolumeMetadata metadata, Stream stream, IProgress <VolumeSliceDefinition> progressNotifier = null, CancellationToken ct = default(CancellationToken))
        {
            _Stream = stream;

            _ProgressNotifier = progressNotifier;
            _Ct           = ct;
            _CurrentSlice = 0;

            _SizeX = metadata.SizeX;
            _SizeY = metadata.SizeY;
            _SizeZ = metadata.SizeZ;

            _Buffer = new byte[0];

            Interop = new InteropSliceReader
            {
                ReadSlice = ReadSlice
            };
        }
Example #2
0
        internal SliceReader(VolumeMetadata metadata, byte[][] data, Direction readDirection = Direction.Z, IProgress <VolumeSliceDefinition> progressNotifier = null, CancellationToken ct = default(CancellationToken))
        {
            _Data             = data;
            _ReadDirection    = readDirection;
            _ProgressNotifier = progressNotifier;
            _Ct           = ct;
            _CurrentSlice = 0;

            _SizeX = metadata.SizeX;
            _SizeY = metadata.SizeY;
            _SizeZ = metadata.SizeZ;

            _Buffer = new byte[0];

            Interop = new InteropSliceReader
            {
                ReadSlice = ReadSlice
            };
        }
Example #3
0
 internal static extern int CompressVolume(InteropSliceReader inputStream, InteropStream outputStream, ushort width, ushort height, [MarshalAs(UnmanagedType.LPStr)] string encoderName, [MarshalAs(UnmanagedType.LPStr)] string pixelFormat, [MarshalAs(UnmanagedType.LPStr)] string options, int bitrate);