class_docstr: VisA dataset class.
  
  Args:
      task (TaskType): Task type, ``classification``, ``detection`` or ``segmentation``
      transform (A.Compose): Albumentations Compose object describing the transforms that are applied to the inputs.
      split (str | Split | None): Split of the dataset, usually Split.TRAIN or Split.TEST
      root (str | Path): Path to the root of the dataset
      category (str): Sub-category of the dataset, e.g. 'candle'
class_docstr_tok: ["VisA","dataset","class",".","Args",":","task","(","TaskType",")",":","Task","type",",","``","classification","``",",","``","detection","``","or","``","segmentation","``","transform","(","A.Compose",")",":","Albumentations","Compose","object","describing","the","transforms","that","are","applied","to","the","inputs",".","split","(","str","|","Split","|","None",")",":","Split","of","the","dataset",",","usually","Split.TRAIN","or","Split.TEST","root","(","str","|","Path",")",":","Path","to","the","root","of","the","dataset","category","(","str",")",":","Sub-category","of","the","dataset",",","e.g",".","'candle","'"]
code: def __init__(
      self,
      task: TaskType,
      transform: A.Compose,
      root: str | Path,
      category: str,
      split: str | Split | None = None,
  ) -> None:
      super().__init__(task=task, transform=transform)
  
      self.root_category = Path(root) / category
      self.split = split
  
imports: from __future__ import annotations
  import csv
  import logging
  import shutil
  from pathlib import Path
  import albumentations
  import cv2
  from anomalib.data.base import AnomalibDataModule, AnomalibDataset
  from anomalib.data.task_type import TaskType
  from anomalib.data.utils import DownloadInfo, InputNormalizationMethod, Split, TestSplitMode, ValSplitMode, download_and_extract, get_transforms
  from .mvtec import make_mvtec_dataset
label_desc: Use image node_id 1 to create a new VisaDataset object from inherited base classes: AnomalibDataset with example: obj = VisaDataset(task, transform, root, category, split)