def axisOrderStr(hdr, onlyLetters=True):
    """return string indicating meaning of shape dimensions
    ##
    ## ZTW   <- non-interleaved
    ## WZT   <- OM1 ( easy on stage)
    ## ZWT   <- added by API (used at all ??)
    ## ^
    ## |
    ## +--- first letter 'fastest'
    fixme: possibly wrong when doDataMap found bad file-size
    """
    zOrder = int(hdr.ImgSequence)
    nt, nw = hdr.NumTimes, hdr.NumWaves
    if nt == nw == 1:
        orderLetters = 'zyx'
    elif nt == 1:
        orderLetters = ('wzyx', 'zwyx', 'wzyx')[zOrder]
    elif nw == 1:
        orderLetters = ('tzyx', 'tzyx', 'tzyx')[zOrder]
    else:
        orderLetters = ('wtzyx', 'tzwyx', 'twzyx')[zOrder]
    if onlyLetters:
        return orderLetters
    else:
        return '[' + ','.join(orderLetters) + ']'
