def get_dose_range(row):
    """Get tuneable parameter range.

    Assumes PTV D95 (MinDvh) is not tuneable.
    Assumes all other dose parameters (MaxDvh and MaxDose) are
    tuneable between a range of 0.25-1.0 of DoseLevel, except for
    PTV MaxDose, which uses (5*MaxDose - 4800)/4.

    Parameters
    ----------
    row : pandas.core.series.Series
        Row of func_df DataFrame.

    Returns
    -------
    float or str
        If parameter not tuneable, return DoseLevel.
        Otherwise, return lower and upper limits of DoseLevel.

    """
    if 'PTV' in row['Roi']:
        if row['FunctionType'] == 'MinDvh':
            return row['DoseLevel']
        min_dose = (row['DoseLevel'] + 3*4800)/4
        return f"[{min_dose}, {row['DoseLevel']}]"
    return f"[{row['DoseLevel']/4}, {row['DoseLevel']}]"