class_docstr: Class representing a VOC annotations file.
  
  Args:
      path (None): the path to the image
      folder (None): the name of the folder containing the image
      filename (None): the image filename
      segmented (None): whether the objects are segmented
      metadata (None): a :class:`fiftyone.core.metadata.ImageMetadata`
          instance
      objects (None): a list of :class:`VOCObject` instances
class_docstr_tok: ["Class","representing","a","VOC","annotations","file",".","Args",":","path","(","None",")",":","the","path","to","the","image","folder","(","None",")",":","the","name","of","the","folder","containing","the","image","filename","(","None",")",":","the","image","filename","segmented","(","None",")",":","whether","the","objects","are","segmented","metadata","(","None",")",":","a",":","class",":","`","fiftyone.core.metadata.ImageMetadata","`","instance","objects","(","None",")",":","a","list","of",":","class",":","`","VOCObject","`","instances"]
code: def __init__(
      self,
      path=None,
      folder=None,
      filename=None,
      segmented=None,
      metadata=None,
      objects=None,
  ):
      if filename is None and path:
          filename = os.path.basename(path)
  
      self.path = path
      self.folder = folder
      self.filename = filename
      self.segmented = segmented
      self.metadata = metadata
      self.objects = objects or []
  
imports: import logging
  import os
  import jinja2
  import eta.core.utils
  import fiftyone.constants
  import fiftyone.core.labels
  import fiftyone.core.metadata
  import fiftyone.core.storage
  import fiftyone.core.utils
  import fiftyone.utils.data
label_desc: Use image node_id 1 to create a new VOCAnnotation object from inherited base classes: object with example: obj = VOCAnnotation(path, folder, filename, segmented, metadata, objects)