def read_coordinates(self, where=None, start=None, stop=None, **kwargs):
<EOL>self.validate_version(where)<EOL>if not self.infer_axes():<EOL><INDENT>return False<EOL><DEDENT>self.selection = Selection(<EOL>self, where=where, start=start, stop=stop, **kwargs)<EOL>coords = self.selection.select_coords()<EOL>if self.selection.filter is not None:<EOL><INDENT>for field, op, filt in self.selection.filter.format():<EOL><INDENT>data = self.read_column(<EOL>field, start=coords.min(), stop=coords.max() + <NUM_LIT:1>)<EOL>coords = coords[<EOL>op(data.iloc[coords - coords.min()], filt).values]<EOL><DEDENT><DEDENT>return Index(coords)<EOL>
select coordinates (row numbers) from a table; return the
        coordinates object