def makeClassAverages(lst, outputstack, classdata, params):
    #align images in class
    images = EMAN.readImages(lst, -1, -1, 0)
    for image in images:
        image.rotateAndTranslate()
        if image.isFlipped():
            image.hFlip()

    #make class average
    avg = EMAN.EMData()
    avg.makeMedian(images)

    #write class average
    e = EMAN.Euler()
    alt = classdata['euler1'] * math.pi / 180
    az = classdata['euler2'] * math.pi / 180
    phi = 0.0
    e.setAngle(alt, az, phi)
    avg.setRAlign(e)
    avg.setNImg(len(images))
    avg.applyMask(params['mask'], 0)
    avg.writeImage(outputstack, -1)