public Pixel1D(VirtualPixel1D3 logicalDevice, int startVirtualPosition = 0, int? positions = null, bool reverse = false)
: base(logicalDevice)
{
if (!positions.HasValue)
positions = logicalDevice.Pixels;
logicalDevice.AddPixelDevice(startVirtualPosition, positions.Value, reverse, pixels =>
{
lock (this.lockObject)
{
PixelOutputPort.SendPixelsValue(0, pixels, pixels.Length);
}
});
}