<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def reorient_image(image, axis1, axis2=None, doreflection=False, doscale=0, txfn=None):
 """ Align image along a specified axis ANTsR function: `reorientImage` Arguments --------- image : ANTsImage image to reorient axis1 : list/tuple of integers vector of size dim, might need to play w/axis sign axis2 : list/tuple of integers vector of size dim for 3D doreflection : boolean whether to reflect doscale : scalar value 1 allows automated estimate of scaling txfn : string file name for transformation Returns ------- ANTsImage Example ------- """

    inpixeltype = image.pixeltype
    if image.pixeltype != 'float':
        image = image.clone('float')

    axis_was_none = False
    if axis2 is None:
        axis_was_none = True
        axis2 = [0]*image.dimension

    axis1 = np.array(axis1)
    axis2 = np.array(axis2)

    axis1 = axis1 / np.sqrt(np.sum(axis1*axis1)) * (-1)
    axis1 = axis1.astype('int')

    if not axis_was_none:
        axis2 = axis2 / np.sqrt(np.sum(axis2*axis2)) * (-1)
        axis2 = axis2.astype('int')
    else:
        axis2 = np.array([0]*image.dimension).astype('int')

    if txfn is None:
        txfn = mktemp(suffix='.mat')

    if isinstance(doreflection, tuple):
        doreflection = list(doreflection)
    if not isinstance(doreflection, list):
        doreflection = [doreflection]

    if isinstance(doscale, tuple):
        doscale = list(doscale)
    if not isinstance(doscale, list):
        doscale = [doscale]

    if len(doreflection) == 1:
        doreflection = [doreflection[0]]*image.dimension
    if len(doscale) == 1:
        doscale = [doscale[0]]*image.dimension

    libfn = utils.get_lib_fn('reorientImage%s' % image._libsuffix)
    libfn(image.pointer, txfn, axis1.tolist(), axis2.tolist(), doreflection, doscale)
    image2 = apply_transforms(image, image, transformlist=[txfn])

    if image.pixeltype != inpixeltype:
        image2 = image2.clone(inpixeltype)

    return {'reoimage':image2,
            'txfn':txfn}