class_docstr: Extending the default sampler to include csv data
docstr: returns a dictionary of sampler output tensorflow dtypes
code: def tf_dtypes(self):
      """
      returns a dictionary of sampler output tensorflow dtypes
      """
      assert (
          self.window
      ), "Unknown output shapes: self.window not initialised"
      shape_dict = self.window.tf_dtypes
      if self.csv_reader is not None:
          shape_dict.update(self.csv_reader.tf_dtypes)
      return shape_dict
  
file_path: NiftyNet/niftynet/contrib/csv_reader/sampler_csv_rows.py
imports: import numpy
  from niftynet.engine.image_window_dataset import ImageWindowDataset
  from niftynet.engine.image_window import N_SPATIAL, LOCATION_FORMAT
label_desc: Use image node_id 4 for calling the ImageWindowDatasetCSV obj's underlying member method code with example usage: obj.tf_dtypes() and returns: shape_dict