def classify(self,
                 images_file=None,
                 images_filename=None,
                 images_file_content_type=None,
                 url=None,
                 threshold=None,
                 owners=None,
                 classifier_ids=None,
                 accept_language=None,
                 **kwargs):
        """
        Classify images.

        Classify images with built-in or custom classifiers.

        :param file images_file: An image file (.gif, .jpg, .png, .tif) or .zip file with
        images. Maximum image size is 10 MB. Include no more than 20 images and limit the
        .zip file to 100 MB. Encode the image and .zip file names in UTF-8 if they contain
        non-ASCII characters. The service assumes UTF-8 encoding if it encounters
        non-ASCII characters.
        You can also include an image with the **url** parameter.
        :param str images_filename: The filename for images_file.
        :param str images_file_content_type: The content type of images_file.
        :param str url: The URL of an image (.gif, .jpg, .png, .tif) to analyze. The
        minimum recommended pixel density is 32X32 pixels, but the service tends to
        perform better with images that are at least 224 x 224 pixels. The maximum image
        size is 10 MB.
        You can also include images with the **images_file** parameter.
        :param float threshold: The minimum score a class must have to be displayed in the
        response. Set the threshold to `0.0` to return all identified classes.
        :param list[str] owners: The categories of classifiers to apply. The
        **classifier_ids** parameter overrides **owners**, so make sure that
        **classifier_ids** is empty.
        - Use `IBM` to classify against the `default` general classifier. You get the same
        result if both **classifier_ids** and **owners** parameters are empty.
        - Use `me` to classify against all your custom classifiers. However, for better
        performance use **classifier_ids** to specify the specific custom classifiers to
        apply.
        - Use both `IBM` and `me` to analyze the image against both classifier categories.
        :param list[str] classifier_ids: Which classifiers to apply. Overrides the
        **owners** parameter. You can specify both custom and built-in classifier IDs. The
        built-in `default` classifier is used if both **classifier_ids** and **owners**
        parameters are empty.
        The following built-in classifier IDs require no training:
        - `default`: Returns classes from thousands of general tags.
        - `food`: Enhances specificity and accuracy for images of food items.
        - `explicit`: Evaluates whether the image might be pornographic.
        :param str accept_language: The desired language of parts of the response. See the
        response for details.
        :param dict headers: A `dict` containing the request headers
        :return: A `DetailedResponse` containing the result, headers and HTTP status code.
        :rtype: DetailedResponse
        """

        headers = {'Accept-Language': accept_language}
        if 'headers' in kwargs:
            headers.update(kwargs.get('headers'))
        sdk_headers = get_sdk_headers('watson_vision_combined', 'V3',
                                      'classify')
        headers.update(sdk_headers)

        params = {'version': self.version}

        form_data = {}
        if images_file:
            if not images_filename and hasattr(images_file, 'name'):
                images_filename = basename(images_file.name)
            if not images_filename:
                raise ValueError('images_filename must be provided')
            form_data['images_file'] = (images_filename, images_file,
                                        images_file_content_type or
                                        'application/octet-stream')
        if url:
            form_data['url'] = (None, url, 'text/plain')
        if threshold:
            form_data['threshold'] = (None, threshold, 'application/json')
        if owners:
            owners = self._convert_list(owners)
            form_data['owners'] = (None, owners, 'application/json')
        if classifier_ids:
            classifier_ids = self._convert_list(classifier_ids)
            form_data['classifier_ids'] = (None, classifier_ids,
                                           'application/json')

        url = '/v3/classify'
        response = self.request(
            method='POST',
            url=url,
            headers=headers,
            params=params,
            files=form_data,
            accept_json=True)
        return response
Classify images.

        Classify images with built-in or custom classifiers.

        :param file images_file: An image file (.gif, .jpg, .png, .tif) or .zip file with
        images. Maximum image size is 10 MB. Include no more than 20 images and limit the
        .zip file to 100 MB. Encode the image and .zip file names in UTF-8 if they contain
        non-ASCII characters. The service assumes UTF-8 encoding if it encounters
        non-ASCII characters.
        You can also include an image with the **url** parameter.
        :param str images_filename: The filename for images_file.
        :param str images_file_content_type: The content type of images_file.
        :param str url: The URL of an image (.gif, .jpg, .png, .tif) to analyze. The
        minimum recommended pixel density is 32X32 pixels, but the service tends to
        perform better with images that are at least 224 x 224 pixels. The maximum image
        size is 10 MB.
        You can also include images with the **images_file** parameter.
        :param float threshold: The minimum score a class must have to be displayed in the
        response. Set the threshold to `0.0` to return all identified classes.
        :param list[str] owners: The categories of classifiers to apply. The
        **classifier_ids** parameter overrides **owners**, so make sure that
        **classifier_ids** is empty.
        - Use `IBM` to classify against the `default` general classifier. You get the same
        result if both **classifier_ids** and **owners** parameters are empty.
        - Use `me` to classify against all your custom classifiers. However, for better
        performance use **classifier_ids** to specify the specific custom classifiers to
        apply.
        - Use both `IBM` and `me` to analyze the image against both classifier categories.
        :param list[str] classifier_ids: Which classifiers to apply. Overrides the
        **owners** parameter. You can specify both custom and built-in classifier IDs. The
        built-in `default` classifier is used if both **classifier_ids** and **owners**
        parameters are empty.
        The following built-in classifier IDs require no training:
        - `default`: Returns classes from thousands of general tags.
        - `food`: Enhances specificity and accuracy for images of food items.
        - `explicit`: Evaluates whether the image might be pornographic.
        :param str accept_language: The desired language of parts of the response. See the
        response for details.
        :param dict headers: A `dict` containing the request headers
        :return: A `DetailedResponse` containing the result, headers and HTTP status code.
        :rtype: DetailedResponse