Downloads metadata for the given object type, which describes the
        position of each segmented object on the map.

        Parameters
        ----------
        mapobject_type_name: str
            type of the segmented objects
        plate_name: str, optional
            name of the plate
        well_name: str, optional
            name of the well
        well_pos_y: int, optional
            y-position of the site relative to the well grid
        well_pos_x: int, optional
            x-position of the site relative to the well grid
        tpoint: int, optional
            zero-based time point index

        Returns
        -------
        pandas.DataFrame
            *n*x*p* dataframe, where *n* are number of objects and *p* number
            of metadata attributes

        See also
        --------
        :func:`tmserver.api.feature.get_metadata`

def download_object_metadata(self, mapobject_type_name, plate_name=None,
            well_name=None, well_pos_y=None, well_pos_x=None, tpoint=None):
        '''Downloads metadata for the given object type, which describes the
        position of each segmented object on the map.

        Parameters
        ----------
        mapobject_type_name: str
            type of the segmented objects
        plate_name: str, optional
            name of the plate
        well_name: str, optional
            name of the well
        well_pos_y: int, optional
            y-position of the site relative to the well grid
        well_pos_x: int, optional
            x-position of the site relative to the well grid
        tpoint: int, optional
            zero-based time point index

        Returns
        -------
        pandas.DataFrame
            *n*x*p* dataframe, where *n* are number of objects and *p* number
            of metadata attributes

        See also
        --------
        :func:`tmserver.api.feature.get_metadata`
        '''
        res = self._download_object_metadata(
            mapobject_type_name, plate_name, well_name, well_pos_y, well_pos_x,
            tpoint
        )
        file_obj = StringIO(res.content.decode('utf-8'))
        try:
            return pd.read_csv(file_obj)
        except EmptyDataError:
            return pd.DataFrame()