class_docstr: Decoder for :class:`~ffcv.fields.RGBImageField` that performs a center crop followed by a resize operation.
  
  It supports both variable and constant resolution datasets.
  
  Parameters
  ----------
  output_size : Tuple[int]
      The desired resized resolution of the images
  ratio: float
      ratio of (crop size) / (min side length)
class_docstr_tok: ["Decoder","for",":","class",":","`","~ffcv.fields.RGBImageField","`","that","performs","a","center","crop","followed","by","a","resize","operation",".","It","supports","both","variable","and","constant","resolution","datasets",".","Parameters","--","--","--","--","--","output_size",":","Tuple","[","int","]","The","desired","resized","resolution","of","the","images","ratio",":","float","ratio","of","(","crop","size",")","\/","(","min","side","length",")"]
code: def __init__(self, output_size, ratio):
      super().__init__(output_size)
      self.scale = None
      self.ratio = ratio
  
imports: from abc import ABCMeta, abstractmethod
  from dataclasses import replace
  from typing import Optional, Callable, TYPE_CHECKING, Tuple, Type
  import cv2
  import numpy
  from numba.typed import Dict
  from PIL.Image import Image
  from .base import Field, ARG_TYPE
  from ..pipeline.operation import Operation
  from ..pipeline.state import State
  from ..pipeline.compiler import Compiler
  from ..pipeline.allocation_query import AllocationQuery
  from ..libffcv import imdecode, memcpy, resize_crop
label_desc: Use image node_id 1 to create a new CenterCropRGBImageDecoder object from inherited base classes: ResizedCropRGBImageDecoder with example: obj = CenterCropRGBImageDecoder(output_size, ratio)