public ConvolutionStep(IList<RectangularStep> upstream, int convolutionWidth, int convolutionHeight) : base(WidthOf(upstream) - convolutionWidth + 1, HeightOf(upstream) - convolutionHeight + 1, upstream) { this.weights = new ConvolutionWeights(convolutionWidth, convolutionHeight, upstream.Count); }