docstr: Base class for binary predicates that are defined in terms of
  `contains_properly`.
  
  Subclasses are selected using the `DispatchDict` located at the end
  of this file.
  
  Parameters
  ----------
  allpairs: bool
      Whether to compute all pairs of features in the left-hand and
      right-hand GeoSeries. If False, the feature will be compared in a
      1:1 fashion with the corresponding feature in the other GeoSeries.
  mode: str
      The mode to use for computing the predicate. The default is
      "full", which computes true or false if the `.contains_properly`
      predicate is satisfied. Other options include "basic_none",
      "basic_any", "basic_all", and "basic_count".
docstr_tok: ["Base","class","for","binary","predicates","that","are","defined","in","terms","of","`","contains_properly","`",".","Subclasses","are","selected","using","the","`","DispatchDict","`","located","at","the","end","of","this","file",".","Parameters","--","--","--","--","--","allpairs",":","bool","Whether","to","compute","all","pairs","of","features","in","the","left-hand","and","right-hand","GeoSeries",".","If","False",",","the","feature","will","be","compared","in","a","1:1","fashion","with","the","corresponding","feature","in","the","other","GeoSeries",".","mode",":","str","The","mode","to","use","for","computing","the","predicate",".","The","default","is","``","full","''",",","which","computes","true","or","false","if","the","`",".contains_properly","`","predicate","is","satisfied",".","Other","options","include","``","basic_none","''",",","``","basic_any","''",",","``","basic_all","''",",","and","``","basic_count","''","."]
code: def __init__(self, **kwargs):
      """Base class for binary predicates that are defined in terms of
      `contains_properly`.
  
      Subclasses are selected using the `DispatchDict` located at the end
      of this file.
  
      Parameters
      ----------
      allpairs: bool
          Whether to compute all pairs of features in the left-hand and
          right-hand GeoSeries. If False, the feature will be compared in a
          1:1 fashion with the corresponding feature in the other GeoSeries.
      mode: str
          The mode to use for computing the predicate. The default is
          "full", which computes true or false if the `.contains_properly`
          predicate is satisfied. Other options include "basic_none",
          "basic_any", "basic_all", and "basic_count".
      """
      super().__init__(**kwargs)
      self.config.allpairs = kwargs.get("allpairs", False)
      self.config.mode = kwargs.get("mode", "full")
  
imports: from typing import TypeVar
  import cupy
  import cudf
  from cuspatial.core.binpreds.basic_predicates import _basic_equals_all, _basic_intersects
  from cuspatial.core.binpreds.binpred_interface import BinPred, ContainsOpResult, ImpossiblePredicate, NotImplementedPredicate, PreprocessorResult
  from cuspatial.core.binpreds.contains import contains_properly
  from cuspatial.core.binpreds.contains_geometry_processor import ContainsGeometryProcessor
  from cuspatial.utils.binpred_utils import LineString, MultiPoint, Point, Polygon, _is_complex
  from cuspatial.utils.column_utils import contains_only_polygons, has_multipolygons
label_desc: Use image node_id 1 to create a new ContainsProperlyPredicate object from inherited base classes: ContainsGeometryProcessor with example: obj = ContainsProperlyPredicate()