class_docstr: Prepare document data for Document Classification.
  OCR (Optical character recognition) is applied to get the document texts and bounding boxes.
  Both texts and images will be processed.
class_docstr_tok: ["Prepare","document","data","for","Document","Classification",".","OCR","(","Optical","character","recognition",")","is","applied","to","get","the","document","texts","and","bounding","boxes",".","Both","texts","and","images","will","be","processed","."]
docstr: Normalize the bounding boxes.
  
  Parameters
  ----------
  box
      The bounding box to be processed.
  width
      Width of the document image.
  height
      Height of the document image.
  
  Returns
  -------
  A normalized bounding box.
docstr_tok: ["Normalize","the","bounding","boxes",".","Parameters","--","--","--","--","--","box","The","bounding","box","to","be","processed",".","width","Width","of","the","document","image",".","height","Height","of","the","document","image",".","Returns","--","--","--","-","A","normalized","bounding","box","."]
code: def normalize_box(box, width, height):
      """
      Normalize the bounding boxes.
  
      Parameters
      ----------
      box
          The bounding box to be processed.
      width
          Width of the document image.
      height
          Height of the document image.
  
      Returns
      -------
      A normalized bounding box.
      """
      return [
          int(1000 * (box[0] / width)),
          int(1000 * (box[1] / height)),
          int(1000 * (box[2] / width)),
          int(1000 * (box[3] / height)),
      ]
  
imports: import logging
  import os
  import warnings
  from io import BytesIO
  from typing import Any, Dict, List, Optional, Union
  import numpy
  import PIL
  import pytesseract
  import torch
  from nptyping import NDArray
  from PIL import ImageFile
  from torch import nn
  from torchvision import transforms
  from ..constants import AUTOMM, BBOX, DOCUMENT_PDF
  from .collator import PadCollator, StackCollator
  from .utils import construct_image_processor, image_mean_std
label_desc: Use image node_id 3 for calling the DocumentProcessor obj's underlying member method code with example usage: obj.normalize_box(box, width, height) and returns: list