def METHOD_NAME(self):
    start_time = time.time()
    shape = self.get_max_shape()
    # result holds the result of the composition
    result = np.zeros(shape)
    cnt = 0
    for layer in self._layer:
        alpha = layer.alpha
        if isinstance(alpha, BaseImage.BaseImage):
            alpha = alpha.get_data()
        data = layer.image.get_data()
        result += self.alpha_multiply(alpha, data, shape=shape)
        cnt += 1
    self.set_data(result)
    end_time = time.time()
    self.logger.debug("alpha compose=%.4f sec" % (end_time - start_time))