<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def map_pores(self, pores, origin, filtered=True):
 r""" Given a list of pore on a target object, finds indices of those pores on the calling object Parameters pores : array_like The indices of the pores on the object specifiedin ``origin`` origin : OpenPNM Base object The object corresponding to the indices given in ``pores`` filtered : boolean (default is ``True``) If ``True`` then a ND-array of indices is returned with missing indices removed, otherwise a named-tuple containing both the ``indices`` and a boolean ``mask`` with ``False`` indicating which locations were not found. Returns ------- Pore indices on the calling object corresponding to the same pores on the ``origin`` object. Can be an array or a tuple containing an array and a mask, depending on the value of ``filtered``. """

        ids = origin['pore._id'][pores]
        return self._map(element='pore', ids=ids, filtered=filtered)