// Create Superposition in specified overlapping location Superposition GetLocalSuperposition(int x, int y, List <Pattern> patternsFromSample) { Superposition superpositionForXY = new Superposition(patternsFromSample); for (var i = 0; i < patternsFromSample.Count; i++) { var candidate = patternsFromSample[i]; if (!this.Overlaps(x, y, candidate)) { superpositionForXY.coefficients[i] = false; } } superpositionForXY.CalculateEntropy(); return(superpositionForXY); }