def METHOD_NAME(self,ind):
    sl = self.dataSource.METHOD_NAME(ind)
    #sl = self.unmixer.Unmix(sl, self.mixmatrix, self.offset, self.ROI)
    #print self.chan, sl.shape
    #print sl.shape
    dsa = sl.squeeze()
    #if self.chan == 0:
    if self.chanROIs:
        x, y, w, h = self.chanROIs[self.chan]
        x1 = x -(self.ROI[0] - 1)
        y1 = y -(self.ROI[1] - 1)
        x = max(x1, 0)
        y = max(y1, 0)
        if self.flip and (self.chan == 0):
            #print y, h + min(y1, 0), self.sliceShape
            y = y + h + min(y1, 0) - self.sliceShape[1]
        #w += min(x1, 0)
        #h += min(y1, 0)
        w, h = self.sliceShape
    else:
        if self.chan == 0:
            x, y, w, h = 0,0, dsa.shape[0], int(dsa.shape[1] / 2)
        else:
            x, y, w, h = 0, int(dsa.shape[1] / 2), dsa.shape[0], int(dsa.shape[1] / 2)
            #print x, y
            return dsa[x:(x+w), y:(y+h)]
    c = dsa[x:(x+w), y:(y+h)]
    if self.chan > 0:
        if self.flip:
            c = numpy.fliplr(c)
        if 'Xn' in dir(self):
            #print sl.shape, c.shape
            c = c[self.Xn, self.Yn]
    return c