def read(self, **kwargs):
if self.tile.pixelbuffer > self.config.output.pixelbuffer:<EOL><INDENT>output_tiles = list(self.config.output_pyramid.tiles_from_bounds(<EOL>self.tile.bounds, self.tile.zoom<EOL>))<EOL><DEDENT>else:<EOL><INDENT>output_tiles = self.config.output_pyramid.intersecting(self.tile)<EOL><DEDENT>return self.config.output.extract_subset(<EOL>input_data_tiles=[<EOL>(output_tile, self.config.output.read(output_tile))<EOL>for output_tile in output_tiles<EOL>],<EOL>out_tile=self.tile,<EOL>)<EOL>
Read existing output data from a previous run.

Returns
-------
process output : NumPy array (raster) or feature iterator (vector)