def __init__(
        self,
        root: str,
        train: bool = True,
        download: bool = False,
        transforms: Optional[Callable] = None,
    ):
        """
        Args:
            root: str: root directory of dataset where
            ``CarvanaOneCarDataset/`` exist.
            train: (bool, optional): If True, creates dataset from
                training part, otherwise from test part
            download: (bool, optional): If true, downloads the dataset from
                the internet and puts it in root directory. If dataset
                is already downloaded, it is not downloaded again.
            transforms: (callable, optional): A function/transform that
                takes in an image and returns a transformed version.

        Raises:
            RuntimeError: If ``download is False`` and the dataset not found.

        Examples:
            >>> from catalyst.contrib.datasets import CarvanaOneCarDataset
            >>> dataset = CarvanaOneCarDataset(root='./',
            >>>                                train=True,
            >>>                                download=True,
            >>>                                transforms=None)
            >>> image = dataset[0]['image']
            >>> mask = dataset[0]['mask']
        """
        directory = Path(root) / "CarvanaOneCarDataset"
        if download and not directory.exists():
            _download_file_from_google_drive(
                DATASET_IDX, f"{root}/CarvanaOneCarDataset.zip"
            )
            _extract_archive(f"{root}/CarvanaOneCarDataset.zip", f"{root}/", True)
        if not directory.exists():
            raise RuntimeError(
                "Dataset not found. You can use download=True to download it"
            )
        split = "train" if train else "test"
        mask_path = directory / f"{split}_masks"
        image_path = directory / f"{split}_images"
        self.image_paths = sorted(image_path.glob("*.jpg"))
        self.mask_paths = sorted(mask_path.glob("*.png"))
        self.transforms = transforms

        Args:
            root: str: root directory of dataset where
            ``CarvanaOneCarDataset/`` exist.
            train: (bool, optional): If True, creates dataset from
                training part, otherwise from test part
            download: (bool, optional): If true, downloads the dataset from
                the internet and puts it in root directory. If dataset
                is already downloaded, it is not downloaded again.
            transforms: (callable, optional): A function/transform that
                takes in an image and returns a transformed version.

        Raises:
            RuntimeError: If ``download is False`` and the dataset not found.

        Examples:
            >>> from catalyst.contrib.datasets import CarvanaOneCarDataset
            >>> dataset = CarvanaOneCarDataset(root='./',
            >>>                                train=True,
            >>>                                download=True,
            >>>                                transforms=None)
            >>> image = dataset[0]['image']
            >>> mask = dataset[0]['mask']
        
catalyst/contrib/datasets/imagecar.py