def METHOD_NAME(mtz_file):
    m = mtz.object(mtz_file)
    r = get_phi_range(m)
    sg = m.space_group()
    xdet_col = m.get_column('XDET')
    ydet_col = m.get_column('YDET')
    rot_col = m.get_column('ROT')
    i_col = m.get_column('I')
    sigi_col = m.get_column('SIGI')
    mi_s = m.extract_miller_indices()
    map_to_asu(sg.type(), False, mi_s)
    xdet_s = xdet_col.extract_values(not_a_number_substitute = 0.0)
    ydet_s = ydet_col.extract_values(not_a_number_substitute = 0.0)
    rot_s = rot_col.extract_values(not_a_number_substitute = 0.0)
    i_s = i_col.extract_values(not_a_number_substitute = 0.0)
    sigi_s = sigi_col.extract_values(not_a_number_substitute = 0.0)
    hkl_xyz_isigi = []
    # N.B. swapping X, Y here
    for j in range(mi_s.size()):
        hkl_xyz_isigi.append(((mi_s[j][0], mi_s[j][1], mi_s[j][2]),
                              (ydet_s[j], xdet_s[j], rot_s[j] / r),
                              (i_s[j], sigi_s[j])))
    return hkl_xyz_isigi