code: def get(self, part):
          
          if part == self.MID_VERTICAL:
              return Region(self.x+(self.w/4), y, self.w/2, self.h)
          elif part == self.MID_HORIZONTAL:
              return Region(self.x, self.y+(self.h/4), self.w, self.h/2)
          elif part == self.MID_BIG:
              return Region(self.x+(self.w/4), self.y+(self.h/4), self.w/2, self.h/2)
          elif isinstance(part, int) and part >= 200 and part <= 999:
              raster, row, column = str(part)
              self.setRaster(raster, raster)
              if row == raster and column == raster:
                  return self
              elif row == raster:
                  return self.getCol(column)
              elif column == raster:
                  return self.getRow(row)
              else:
                  return self.getCell(row,column)
          else:
              return self
docs: Returns a section of the region as a new region
  
          Accepts partitioning constants, e.g. Region.NORTH, Region.NORTH_WEST, etc.
          Also accepts an int 200-999:
          * First digit:  Raster (*n* rows by *n* columns)
          * Second digit: Row index (if equal to raster, gets the whole row)
          * Third digit:  Column index (if equal to raster, gets the whole column)
  
          Region.get(522) will use a raster of 5 rows and 5 columns and return
          the cell in the middle.
  
          Region.get(525) will use a raster of 5 rows and 5 columns and return the row in the middle.