class_docstr: `Multi-view Stereo Correspondence <http://matthewalunbrown.com/patchdata/patchdata.html>`_ Dataset.
  
  .. note::
  
      We only provide the newer version of the dataset, since the authors state that it
  
          is more suitable for training descriptors based on difference of Gaussian, or Harris corners, as the
          patches are centred on real interest point detections, rather than being projections of 3D points as is the
          case in the old dataset.
  
      The original dataset is available under http://phototour.cs.washington.edu/patches/default.htm.
  
  
  Args:
      root (string): Root directory where images are.
      name (string): Name of the dataset to load.
      transform (callable, optional): A function/transform that takes in a PIL image
          and returns a transformed version.
      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.
class_docstr_tok: ["`","Multi-view","Stereo","Correspondence","<","http",":","\/\/matthewalunbrown.com\/patchdata\/patchdata.html",">","`","_","Dataset",".","..","note",":",":","We","only","provide","the","newer","version","of","the","dataset",",","since","the","authors","state","that","it","is","more","suitable","for","training","descriptors","based","on","difference","of","Gaussian",",","or","Harris","corners",",","as","the","patches","are","centred","on","real","interest","point","detections",",","rather","than","being","projections","of","3D","points","as","is","the","case","in","the","old","dataset",".","The","original","dataset","is","available","under","http",":","\/\/phototour.cs.washington.edu\/patches\/default.htm",".","Args",":","root","(","string",")",":","Root","directory","where","images","are",".","name","(","string",")",":","Name","of","the","dataset","to","load",".","transform","(","callable",",","optional",")",":","A","function\/transform","that","takes","in","a","PIL","image","and","returns","a","transformed","version",".","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","."]
code: def download(self) -> None:
      if self._check_datafile_exists():
          print(f"# Found cached data {self.data_file}")
          return
  
      if not self._check_downloaded():
          # download files
          url = self.urls[self.name][0]
          filename = self.urls[self.name][1]
          md5 = self.urls[self.name][2]
          fpath = os.path.join(self.root, filename)
  
          download_url(url, self.root, filename, md5)
  
          print(f"# Extracting data {self.data_down}\n")
  
          import zipfile
  
          with zipfile.ZipFile(fpath, "r") as z:
              z.extractall(self.data_dir)
  
          os.unlink(fpath)
  
file_path: vision/torchvision/datasets/phototour.py
imports: import os
  from typing import Any, Callable, List, Optional, Tuple, Union
  import numpy
  import torch
  from PIL import Image
  from .utils import download_url
  from .vision import VisionDataset
label_desc: Use image node_id 6 for calling the PhotoTour obj's underlying member method code with example usage: obj.download() without return types