code: def initialize(self):
      
  
      if self._modules is None:
        self._modules = []
        for i in xrange(self.moduleCount):
          self._modules.append(ThresholdedGaussian2DLocationModule(
            cellsPerAxis=self.cellsPerAxis,
            scale=self.scale[i],
            orientation=self.orientation[i],
            anchorInputSize=self.anchorInputSize,
            activeFiringRate=self.activeFiringRate,
            bumpSigma=self.bumpSigma,
            activationThreshold=self.activationThreshold,
            initialPermanence=self.initialPermanence,
            connectedPermanence=self.connectedPermanence,
            learningThreshold=self.learningThreshold,
            sampleSize=self.sampleSize,
            permanenceIncrement=self.permanenceIncrement,
            permanenceDecrement=self.permanenceDecrement,
            maxSynapsesPerSegment=self.maxSynapsesPerSegment,
            bumpOverlapMethod=self.bumpOverlapMethod,
            seed=self.seed))
  
        # Create a projection matrix for each module used to convert higher
        # dimension displacements to 2D
        if self.dimensions > 2:
          self._projection = [
            self.createProjectionMatrix(dimensions=self.dimensions)
              for _ in xrange(self.moduleCount)]
docs: Initialize grid cell modules