def compute(self):
        mat = self.get_input("Signal")
        sr = self.get_input("Sampling Rate")

        if self.has_input("Window"):
            window = self.get_input("Window").matrix.toarray()
            win_size = window.shape[1]
        else:
            win_size = self.get_input("WindowSize")
            window = scipy.signal.hamming(win_size)

        if self.has_input("Stride"):
            stride = self.get_input("Stride")
        else:
            stride = int(2 / win_size)

        signal_array = mat.matrix.transpose().toarray().ravel()

        samples = signal_array.shape[0]

        offset = 0
        sig = self.get_signal(signal_array, window, offset, win_size)
        phasors = fftpack.fft(sig).ravel()
        out_array = phasors
        offset += stride

        i = 1
        while 1:
            try:
                sig = self.get_signal(signal_array, window, offset, win_size)
                phasors = fftpack.fft(sig)
                offset += stride
                out_array = numpy.vstack([out_array, phasors.ravel()])
                i += 1
            except:
                break

        (slices, freqs) = out_array.shape
        ar = out_array[0:,0:sr*2]
        ar = ar[0:,::-1]

        out = SparseMatrix()
        sigout = SparseMatrix()
        sigout.matrix = sparse.csc_matrix(signal_array)
        out.matrix = sparse.csc_matrix(ar)
        self.set_output("Signal Output", sigout)
        self.set_output("FFT Output", out)
dataset/ETHPy150Open VisTrails/VisTrails/contrib/SciPy/DSP.py/ShortTimeFourierTransform.compute/swapped operands of `/`