def _extract_signal_fired(self):
     if self.signal_map is None: return
     if len(self.signal_map.squeeze().shape) == 2:
         s = Image(
         {'calibration' : {'data_cube' : self.signal_map.squeeze()}})
         s.xscale = self.SI.xscale
         s.yscale = self.SI.yscale
         s.xunits = self.SI.xunits
         s.yunits = self.SI.yunits
         interactive_ns[self.signal_name] = s
     else:
         s = Spectrum(
         {'calibration' : {'data_cube' : self.signal_map.squeeze()}})
         s.energyscale = self.SI.xscale
         s.energyunits = self.SI.xunits
         interactive_ns[self.signal_name] = s