class_docstr: Constructs a DPT image processor.
  
  Args:
      do_resize (`bool`, *optional*, defaults to `True`):
          Whether to resize the image's (height, width) dimensions. Can be overidden by `do_resize` in `preprocess`.
      size (`Dict[str, int]` *optional*, defaults to `{"height": 384, "width": 384}`):
          Size of the image after resizing. Can be overidden by `size` in `preprocess`.
      resample (`PILImageResampling`, *optional*, defaults to `Resampling.BICUBIC`):
          Defines the resampling filter to use if resizing the image. Can be overidden by `resample` in `preprocess`.
      keep_aspect_ratio (`bool`, *optional*, defaults to `False`):
          If `True`, the image is resized to the largest possible size such that the aspect ratio is preserved. Can
          be overidden by `keep_aspect_ratio` in `preprocess`.
      ensure_multiple_of (`int`, *optional*, defaults to 1):
          If `do_resize` is `True`, the image is resized to a size that is a multiple of this value. Can be overidden
          by `ensure_multiple_of` in `preprocess`.
      do_rescale (`bool`, *optional*, defaults to `True`):
          Whether to rescale the image by the specified scale `rescale_factor`. Can be overidden by `do_rescale` in
          `preprocess`.
      rescale_factor (`int` or `float`, *optional*, defaults to `1/255`):
          Scale factor to use if rescaling the image. Can be overidden by `rescale_factor` in `preprocess`.
      do_normalize (`bool`, *optional*, defaults to `True`):
          Whether to normalize the image. Can be overridden by the `do_normalize` parameter in the `preprocess`
          method.
      image_mean (`float` or `List[float]`, *optional*, defaults to `IMAGENET_STANDARD_MEAN`):
          Mean to use if normalizing the image. This is a float or list of floats the length of the number of
          channels in the image. Can be overridden by the `image_mean` parameter in the `preprocess` method.
      image_std (`float` or `List[float]`, *optional*, defaults to `IMAGENET_STANDARD_STD`):
          Standard deviation to use if normalizing the image. This is a float or list of floats the length of the
          number of channels in the image. Can be overridden by the `image_std` parameter in the `preprocess` method.
      do_pad (`bool`, *optional*, defaults to `False`):
          Whether to apply center padding. This was introduced in the DINOv2 paper, which uses the model in
          combination with DPT.
      size_divisor (`int`, *optional*):
          If `do_pad` is `True`, pads the image dimensions to be divisible by this value. This was introduced in the
          DINOv2 paper, which uses the model in combination with DPT.
class_docstr_tok: ["Constructs","a","DPT","image","processor",".","Args",":","do_resize","(","`","bool","`",",","*","optional","*",",","defaults","to","`","True","`",")",":","Whether","to","resize","the","image","'s","(","height",",","width",")","dimensions",".","Can","be","overidden","by","`","do_resize","`","in","`","preprocess","`",".","size","(","`","Dict","[","str",",","int","]","`","*","optional","*",",","defaults","to","`","{","``","height","''",":","384",",","``","width","''",":","384","}","`",")",":","Size","of","the","image","after","resizing",".","Can","be","overidden","by","`","size","`","in","`","preprocess","`",".","resample","(","`","PILImageResampling","`",",","*","optional","*",",","defaults","to","`","Resampling.BICUBIC","`",")",":","Defines","the","resampling","filter","to","use","if","resizing","the","image",".","Can","be","overidden","by","`","resample","`","in","`","preprocess","`",".","keep_aspect_ratio","(","`","bool","`",",","*","optional","*",",","defaults","to","`","False","`",")",":","If","`","True","`",",","the","image","is","resized","to","the","largest","possible","size","such","that","the","aspect","ratio","is","preserved",".","Can","be","overidden","by","`","keep_aspect_ratio","`","in","`","preprocess","`",".","ensure_multiple_of","(","`","int","`",",","*","optional","*",",","defaults","to","1",")",":","If","`","do_resize","`","is","`","True","`",",","the","image","is","resized","to","a","size","that","is","a","multiple","of","this","value",".","Can","be","overidden","by","`","ensure_multiple_of","`","in","`","preprocess","`",".","do_rescale","(","`","bool","`",",","*","optional","*",",","defaults","to","`","True","`",")",":","Whether","to","rescale","the","image","by","the","specified","scale","`","rescale_factor","`",".","Can","be","overidden","by","`","do_rescale","`","in","`","preprocess","`",".","rescale_factor","(","`","int","`","or","`","float","`",",","*","optional","*",",","defaults","to","`","1\/255","`",")",":","Scale","factor","to","use","if","rescaling","the","image",".","Can","be","overidden","by","`","rescale_factor","`","in","`","preprocess","`",".","do_normalize","(","`","bool","`",",","*","optional","*",",","defaults","to","`","True","`",")",":","Whether","to","normalize","the","image",".","Can","be","overridden","by","the","`","do_normalize","`","parameter","in","the","`","preprocess","`","method",".","image_mean","(","`","float","`","or","`","List","[","float","]","`",",","*","optional","*",",","defaults","to","`","IMAGENET_STANDARD_MEAN","`",")",":","Mean","to","use","if","normalizing","the","image",".","This","is","a","float","or","list","of","floats","the","length","of","the","number","of","channels","in","the","image",".","Can","be","overridden","by","the","`","image_mean","`","parameter","in","the","`","preprocess","`","method",".","image_std","(","`","float","`","or","`","List","[","float","]","`",",","*","optional","*",",","defaults","to","`","IMAGENET_STANDARD_STD","`",")",":","Standard","deviation","to","use","if","normalizing","the","image",".","This","is","a","float","or","list","of","floats","the","length","of","the","number","of","channels","in","the","image",".","Can","be","overridden","by","the","`","image_std","`","parameter","in","the","`","preprocess","`","method",".","do_pad","(","`","bool","`",",","*","optional","*",",","defaults","to","`","False","`",")",":","Whether","to","apply","center","padding",".","This","was","introduced","in","the","DINOv2","paper",",","which","uses","the","model","in","combination","with","DPT",".","size_divisor","(","`","int","`",",","*","optional","*",")",":","If","`","do_pad","`","is","`","True","`",",","pads","the","image","dimensions","to","be","divisible","by","this","value",".","This","was","introduced","in","the","DINOv2","paper",",","which","uses","the","model","in","combination","with","DPT","."]
docstr: Center pad an image to be a multiple of `multiple`.
  
  Args:
      image (`np.ndarray`):
          Image to pad.
      size_divisor (`int`):
          The width and height of the image will be padded to a multiple of this number.
      data_format (`ChannelDimension` or `str`, *optional*, defaults to `ChannelDimension.FIRST`):
          The channel dimension format for the output image. Can be one of:
          - `"channels_first"` or `ChannelDimension.FIRST`: image in (num_channels, height, width) format.
          - `"channels_last"` or `ChannelDimension.LAST`: image in (height, width, num_channels) format.
          - Unset: Use the channel dimension format of the input image.
      input_data_format (`ChannelDimension` or `str`, *optional*):
          The channel dimension format for the input image. If unset, the channel dimension format is inferred
          from the input image. Can be one of:
          - `"channels_first"` or `ChannelDimension.FIRST`: image in (num_channels, height, width) format.
          - `"channels_last"` or `ChannelDimension.LAST`: image in (height, width, num_channels) format.
          - `"none"` or `ChannelDimension.NONE`: image in (height, width) format.
docstr_tok: ["Center","pad","an","image","to","be","a","multiple","of","`","multiple","`",".","Args",":","image","(","`","np.ndarray","`",")",":","Image","to","pad",".","size_divisor","(","`","int","`",")",":","The","width","and","height","of","the","image","will","be","padded","to","a","multiple","of","this","number",".","data_format","(","`","ChannelDimension","`","or","`","str","`",",","*","optional","*",",","defaults","to","`","ChannelDimension.FIRST","`",")",":","The","channel","dimension","format","for","the","output","image",".","Can","be","one","of",":","-","`","``","channels_first","''","`","or","`","ChannelDimension.FIRST","`",":","image","in","(","num_channels",",","height",",","width",")","format",".","-","`","``","channels_last","''","`","or","`","ChannelDimension.LAST","`",":","image","in","(","height",",","width",",","num_channels",")","format",".","-","Unset",":","Use","the","channel","dimension","format","of","the","input","image",".","input_data_format","(","`","ChannelDimension","`","or","`","str","`",",","*","optional","*",")",":","The","channel","dimension","format","for","the","input","image",".","If","unset",",","the","channel","dimension","format","is","inferred","from","the","input","image",".","Can","be","one","of",":","-","`","``","channels_first","''","`","or","`","ChannelDimension.FIRST","`",":","image","in","(","num_channels",",","height",",","width",")","format",".","-","`","``","channels_last","''","`","or","`","ChannelDimension.LAST","`",":","image","in","(","height",",","width",",","num_channels",")","format",".","-","`","``","none","''","`","or","`","ChannelDimension.NONE","`",":","image","in","(","height",",","width",")","format","."]
code: def pad_image(
      self,
      image: np.array,
      size_divisor: int,
      data_format: Optional[Union[str, ChannelDimension]] = None,
      input_data_format: Optional[Union[str, ChannelDimension]] = None,
  ):
      """
      Center pad an image to be a multiple of `multiple`.
  
      Args:
          image (`np.ndarray`):
              Image to pad.
          size_divisor (`int`):
              The width and height of the image will be padded to a multiple of this number.
          data_format (`ChannelDimension` or `str`, *optional*, defaults to `ChannelDimension.FIRST`):
              The channel dimension format for the output image. Can be one of:
              - `"channels_first"` or `ChannelDimension.FIRST`: image in (num_channels, height, width) format.
              - `"channels_last"` or `ChannelDimension.LAST`: image in (height, width, num_channels) format.
              - Unset: Use the channel dimension format of the input image.
          input_data_format (`ChannelDimension` or `str`, *optional*):
              The channel dimension format for the input image. If unset, the channel dimension format is inferred
              from the input image. Can be one of:
              - `"channels_first"` or `ChannelDimension.FIRST`: image in (num_channels, height, width) format.
              - `"channels_last"` or `ChannelDimension.LAST`: image in (height, width, num_channels) format.
              - `"none"` or `ChannelDimension.NONE`: image in (height, width) format.
      """
  
      def _get_pad(size, size_divisor):
          new_size = math.ceil(size / size_divisor) * size_divisor
          pad_size = new_size - size
          pad_size_left = pad_size // 2
          pad_size_right = pad_size - pad_size_left
          return pad_size_left, pad_size_right
  
      if input_data_format is None:
          input_data_format = infer_channel_dimension_format(image)
  
      height, width = get_image_size(image, input_data_format)
  
      pad_size_left, pad_size_right = _get_pad(height, size_divisor)
      pad_size_top, pad_size_bottom = _get_pad(width, size_divisor)
  
      return pad(
          image,
          (
              (pad_size_left, pad_size_right),
              (pad_size_top, pad_size_bottom),
          ),
          data_format=data_format,
      )
  
file_path: transformers/src/transformers/models/dpt/image_processing_dpt.py
imports: import math
  from typing import Dict, Iterable, List, Optional, Tuple, Union
  import numpy
  from ...image_processing_utils import BaseImageProcessor, BatchFeature, get_size_dict
  from ...image_transforms import pad, resize, to_channel_dimension_format
  from ...image_utils import IMAGENET_STANDARD_MEAN, IMAGENET_STANDARD_STD, ChannelDimension, ImageInput, PILImageResampling, get_image_size, infer_channel_dimension_format, is_scaled_image, is_torch_available, is_torch_tensor, make_list_of_images, to_numpy_array, valid_images
  from ...utils import TensorType, is_vision_available, logging
label_desc: Use image node_id 3 for calling the DPTImageProcessor obj's underlying member method code with example usage: obj.pad_image(image, size_divisor, data_format, input_data_format) and returns: pad, pad_size_left,  pad_size_right