docs: def save_probe_file(recording, probe_file, format=None, radius=100, dimensions=None):
      '''Saves probe file from the channel information of the given recording
      extractor
  
      Parameters
      ----------
      recording: RecordingExtractor
          The recording extractor to save probe file from
      probe_file: str
          file name of .prb or .csv file to save probe information to
      format: str (optional)
          Format for .prb file. It can be either 'klusta' or 'spyking_circus'. Default is None.
      '''
      probe_file = Path(probe_file)
      if not probe_file.parent.is_dir():
          probe_file.parent.mkdir()
  
      if probe_file.suffix == '.csv':
          # write csv probe file
          with probe_file.open('w') as f:
              if 'location' in recording.get_channel_property_names():
                  for chan in recording.get_channel_ids():
                      loc = recording.get_channel_property(chan, 'location')
                      if len(loc) == 2:
                          f.write(str(loc[0]))
                          f.write(',')
                          f.write(str(loc[1]))
                          f.write('\n')
                      elif len(loc) == 3:
                          f.write(str(loc[0]))
                          f.write(',')
                          f.write(str(loc[1]))
                          f.write(',')
                          f.write(str(loc[2]))
                          f.write('\n')
              else:
                  raise AttributeError("Recording extractor needs to have "
                                       "'location' property to save .csv probe file")
      elif probe_file.suffix == '.prb':
          _export_prb_file(recording, probe_file, format, radius=radius, dimensions=dimensions)
      else:
          raise NotImplementedError("Only .csv and .prb probe files can be saved.")