code: def copy_attributes(self, dst_fi, attrlist, share=False):
          
          # TODO: change API to just go with settings names?
          keylist = []
          if 'transforms' in attrlist:
              keylist.extend(['flip_x', 'flip_y', 'swap_xy'])
  
          if 'rotation' in attrlist:
              keylist.extend(['rot_deg'])
  
          if 'autocuts' in attrlist:
              keylist.extend(['autocut_method', 'autocut_params'])
  
          if 'cutlevels' in attrlist:
              keylist.extend(['cuts'])
  
          if 'rgbmap' in attrlist:
              keylist.extend(['color_algorithm', 'color_hashsize',
                              'color_map', 'intensity_map',
                              'color_array', 'shift_array'])
  
          if 'zoom' in attrlist:
              keylist.extend(['scale'])
  
          if 'pan' in attrlist:
              keylist.extend(['pan'])
  
          with dst_fi.suppress_redraw:
              if share:
                  self.t_.share_settings(dst_fi.get_settings(),
                                         keylist=keylist)
              else:
                  self.t_.copy_settings(dst_fi.get_settings(),
                                        keylist=keylist)
              dst_fi.redraw(whence=0)
docs: Copy interesting attributes of our configuration to another
          image view.
  
          Parameters
          ----------
          dst_fi : subclass of `ImageViewBase`
              Another instance of image view.
  
          attrlist : list
              A list of attribute names to copy. They can be ``'transforms'``,
              ``'rotation'``, ``'cutlevels'``, ``'rgbmap'``, ``'zoom'``,
              ``'pan'``, ``'autocuts'``.
  
          share : bool
              If True, the designated settings will be shared, otherwise the
              values are simply copied.