public void ReadTooManyPixels()
        {
            ReadableImage image = null;

            try {
                image = new ReadableImage(inputLanImagePath);

                FredLanPixel pixel = new FredLanPixel();

                int pixCount = image.Dimensions.Rows * image.Dimensions.Columns;

                for (int i = 0; i < pixCount; i++)
                {
                    image.ReadPixel(pixel);
                }

                // one too many
                image.ReadPixel(pixel);
            }
            catch (System.Exception exc) {
                Data.Output.WriteLine(exc.Message);
                throw;
            }
            finally {
                if (image != null)
                {
                    image.Close();
                }
            }
        }
        public void ReadPixels()
        {
            ReadableImage image = new ReadableImage(inputLanImagePath);

            FredLanPixel pixel = new FredLanPixel();

            int pixCount = image.Dimensions.Rows * image.Dimensions.Columns;

            for (int i = 0; i < pixCount; i++)
            {
                image.ReadPixel(pixel);
            }

            image.Close();
        }
        private void TryCtor <T>(string imagePath)
            where T : IPixel, new()
        {
            ReadableImage image = null;

            try {
                image = new ReadableImage(imagePath);
                InputRaster <T> raster = new InputRaster <T>(image);
            }
            catch (System.Exception exc) {
                Data.Output.WriteLine(exc.Message);
                throw;
            }
            finally {
                if (image != null)
                {
                    image.Close();
                }
            }
        }