[Debian-med-packaging] Bug#1081694: FTBFS with Python 3.13
Stefano Rivera
stefanor at debian.org
Fri Sep 13 21:31:59 BST 2024
Source: dipy
Version: 1.9.0-5
Severity: normal
Tags: upstream patch
User: debian-python at lists.debian.org
Usertags: python3.13
Forwarded: https://github.com/dipy/dipy/pull/3210
This package failed build from source when test-built against a version of
python3-defaults that includes 3.13 as a supported version.
To reproduce this issue, build against python3-defaults (python3-all-dev etc.)
from Debian experimental.
What's new in Python 3.13:
https://docs.python.org/3.13/whatsnew/3.13.html
Log snippet:
# Run tests later on
# cd build to prevent use of local/not-built source tree
set -ex \
; for PYTHON in 3.13 3.12 \
; do PYPKG="/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python$PYTHON/dist-packages" \
; export PYTHONPATH="$PYPKG" \
; echo "I: Running Dipy unittests using $PYTHON" \
; cd "$PYPKG" \
; PATH=/<<PKGBUILDDIR>>/debian/python3-dipy/usr/bin:$PATH \
xvfb-run -a -s "-screen 0 1280x1024x24 -noreset" \
python$PYTHON -m pytest -v -k 'not dipy/utils/tests/test_tractogram.py and not test_io_info and not test_concatenate_flow and not test_convert_tractogram_flow and not test_spike and not test_normalization and not test_kernel_input and not test_fbc and not test_concatenate and not dipy/align/tests/test_streamwarp.py and not dipy/denoise/tests/test_lpca.py and not dipy/reconst/tests/test_sfm.py and not dipy/workflows/tests/test_reconst_csa_csd.py and not dipy/workflows/tests/test_reconst_rumba.py' dipy \
; rm .pytest_cache -rf \
; done
+ PYPKG=/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages
+ export PYTHONPATH=/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages
+ echo I: Running Dipy unittests using 3.13
I: Running Dipy unittests using 3.13
+ cd /<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages
+ PATH=/<<PKGBUILDDIR>>/debian/python3-dipy/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games xvfb-run -a -s -screen 0 1280x1024x24 -noreset python3.13 -m pytest -v -k not dipy/utils/tests/test_tractogram.py and not test_io_info and not test_concatenate_flow and not test_convert_tractogram_flow and not test_spike and not test_normalization and not test_kernel_input and not test_fbc and not test_concatenate and not dipy/align/tests/test_streamwarp.py and not dipy/denoise/tests/test_lpca.py and not dipy/reconst/tests/test_sfm.py and not dipy/workflows/tests/test_reconst_csa_csd.py and not dipy/workflows/tests/test_reconst_rumba.py dipy
============================= test session starts ==============================
platform linux -- Python 3.13.0rc2, pytest-8.3.2, pluggy-1.5.0 -- /usr/bin/python3.13
cachedir: .pytest_cache
rootdir: /<<PKGBUILDDIR>>
configfile: pyproject.toml
plugins: typeguard-4.3.0
collecting ... collected 1000 items / 9 deselected / 991 selected
dipy/align/tests/test_api.py::test_syn_registration SKIPPED (test ne...) [ 0%]
dipy/align/tests/test_api.py::test_register_dwi_to_template SKIPPED [ 0%]
dipy/align/tests/test_api.py::test_affine_registration SKIPPED (test...) [ 0%]
dipy/align/tests/test_api.py::test_single_transforms SKIPPED (test n...) [ 0%]
dipy/align/tests/test_api.py::test_register_series SKIPPED (test nee...) [ 0%]
dipy/align/tests/test_api.py::test_register_dwi_series_and_motion_correction SKIPPED [ 0%]
dipy/align/tests/test_api.py::test_streamline_registration SKIPPED (...) [ 0%]
dipy/align/tests/test_api.py::test_register_dwi_series_multi_b0 SKIPPED [ 0%]
dipy/align/tests/test_crosscorr.py::test_cc_factors_2d PASSED [ 0%]
dipy/align/tests/test_crosscorr.py::test_cc_factors_3d PASSED [ 1%]
dipy/align/tests/test_crosscorr.py::test_compute_cc_steps_2d PASSED [ 1%]
dipy/align/tests/test_crosscorr.py::test_compute_cc_steps_3d PASSED [ 1%]
dipy/align/tests/test_expectmax.py::test_compute_em_demons_step_2d PASSED [ 1%]
dipy/align/tests/test_expectmax.py::test_compute_em_demons_step_3d PASSED [ 1%]
dipy/align/tests/test_expectmax.py::test_quantize_positive_2d PASSED [ 1%]
dipy/align/tests/test_expectmax.py::test_quantize_positive_3d PASSED [ 1%]
dipy/align/tests/test_expectmax.py::test_compute_masked_class_stats_2d PASSED [ 1%]
dipy/align/tests/test_expectmax.py::test_compute_masked_class_stats_3d PASSED [ 1%]
dipy/align/tests/test_imaffine.py::test_transform_centers_of_mass_3d PASSED [ 1%]
dipy/align/tests/test_imaffine.py::test_transform_geometric_centers_3d PASSED [ 2%]
dipy/align/tests/test_imaffine.py::test_transform_origins_3d PASSED [ 2%]
dipy/align/tests/test_imaffine.py::test_affreg_all_transforms PASSED [ 2%]
dipy/align/tests/test_imaffine.py::test_affreg_defaults PASSED [ 2%]
dipy/align/tests/test_imaffine.py::test_mi_gradient PASSED [ 2%]
dipy/align/tests/test_imaffine.py::test_affine_map PASSED [ 2%]
dipy/align/tests/test_imaffine.py::test_MIMetric_invalid_params PASSED [ 2%]
dipy/align/tests/test_imwarp.py::test_mult_aff PASSED [ 2%]
dipy/align/tests/test_imwarp.py::test_diffeomorphic_map_2d PASSED [ 2%]
dipy/align/tests/test_imwarp.py::test_diffeomorphic_map_simplification_2d PASSED [ 2%]
dipy/align/tests/test_imwarp.py::test_diffeomorphic_map_simplification_3d PASSED [ 3%]
dipy/align/tests/test_imwarp.py::test_optimizer_exceptions PASSED [ 3%]
dipy/align/tests/test_imwarp.py::test_get_direction_and_spacings PASSED [ 3%]
dipy/align/tests/test_imwarp.py::test_ssd_2d_demons PASSED [ 3%]
dipy/align/tests/test_imwarp.py::test_ssd_2d_gauss_newton PASSED [ 3%]
dipy/align/tests/test_imwarp.py::test_ssd_3d_demons PASSED [ 3%]
dipy/align/tests/test_imwarp.py::test_ssd_3d_gauss_newton PASSED [ 3%]
dipy/align/tests/test_imwarp.py::test_cc_2d PASSED [ 3%]
dipy/align/tests/test_imwarp.py::test_cc_3d PASSED [ 3%]
dipy/align/tests/test_imwarp.py::test_em_3d_gauss_newton PASSED [ 3%]
dipy/align/tests/test_imwarp.py::test_em_2d_gauss_newton PASSED [ 4%]
dipy/align/tests/test_imwarp.py::test_em_3d_demons PASSED [ 4%]
dipy/align/tests/test_imwarp.py::test_em_2d_demons PASSED [ 4%]
dipy/align/tests/test_imwarp.py::test_coordinate_mapping PASSED [ 4%]
dipy/align/tests/test_metrics.py::test_exceptions PASSED [ 4%]
dipy/align/tests/test_metrics.py::test_EMMetric_image_dynamics PASSED [ 4%]
dipy/align/tests/test_metrics.py::test_em_demons_step_2d PASSED [ 4%]
dipy/align/tests/test_metrics.py::test_em_demons_step_3d PASSED [ 4%]
dipy/align/tests/test_parzenhist.py::test_cubic_spline PASSED [ 4%]
dipy/align/tests/test_parzenhist.py::test_cubic_spline_derivative PASSED [ 4%]
dipy/align/tests/test_parzenhist.py::test_parzen_joint_histogram PASSED [ 5%]
dipy/align/tests/test_parzenhist.py::test_parzen_densities PASSED [ 5%]
dipy/align/tests/test_parzenhist.py::test_joint_pdf_gradients_dense PASSED [ 5%]
dipy/align/tests/test_parzenhist.py::test_joint_pdf_gradients_sparse PASSED [ 5%]
dipy/align/tests/test_parzenhist.py::test_sample_domain_regular PASSED [ 5%]
dipy/align/tests/test_parzenhist.py::test_exceptions PASSED [ 5%]
dipy/align/tests/test_reslice.py::test_resample PASSED [ 5%]
dipy/align/tests/test_scalespace.py::test_scale_space PASSED [ 5%]
dipy/align/tests/test_scalespace.py::test_scale_space_exceptions PASSED [ 5%]
dipy/align/tests/test_streamlinear.py::test_rigid_parallel_lines PASSED [ 5%]
dipy/align/tests/test_streamlinear.py::test_rigid_real_bundles PASSED [ 6%]
dipy/align/tests/test_streamlinear.py::test_rigid_partial_real_bundles PASSED [ 6%]
dipy/align/tests/test_streamlinear.py::test_stream_rigid PASSED [ 6%]
dipy/align/tests/test_streamlinear.py::test_min_vs_min_fast_precision PASSED [ 6%]
dipy/align/tests/test_streamlinear.py::test_same_number_of_points PASSED [ 6%]
dipy/align/tests/test_streamlinear.py::test_efficient_bmd PASSED [ 6%]
dipy/align/tests/test_streamlinear.py::test_openmp_locks PASSED [ 6%]
dipy/align/tests/test_streamlinear.py::test_from_to_rigid PASSED [ 6%]
dipy/align/tests/test_streamlinear.py::test_matrix44 PASSED [ 6%]
dipy/align/tests/test_streamlinear.py::test_abstract_metric_class PASSED [ 6%]
dipy/align/tests/test_streamlinear.py::test_evolution_of_previous_iterations PASSED [ 7%]
dipy/align/tests/test_streamlinear.py::test_similarity_real_bundles PASSED [ 7%]
dipy/align/tests/test_streamlinear.py::test_affine_real_bundles PASSED [ 7%]
dipy/align/tests/test_streamlinear.py::test_vectorize_streamlines PASSED [ 7%]
dipy/align/tests/test_streamlinear.py::test_x0_input PASSED [ 7%]
dipy/align/tests/test_streamlinear.py::test_compose_decompose_matrix44 PASSED [ 7%]
dipy/align/tests/test_streamlinear.py::test_cascade_of_optimizations_and_threading PASSED [ 7%]
dipy/align/tests/test_streamlinear.py::test_wrong_num_threads PASSED [ 7%]
dipy/align/tests/test_streamlinear.py::test_get_unique_pairs PASSED [ 7%]
dipy/align/tests/test_streamlinear.py::test_groupwise_slr PASSED [ 7%]
dipy/align/tests/test_streamwarp.py::test_bundlewarp PASSED [ 8%]
dipy/align/tests/test_streamwarp.py::test_bundlewarp_vector_filed PASSED [ 8%]
dipy/align/tests/test_streamwarp.py::test_bundle_shape_profile PASSED [ 8%]
dipy/align/tests/test_sumsqdiff.py::test_compute_residual_displacement_field_ssd_2d PASSED [ 8%]
dipy/align/tests/test_sumsqdiff.py::test_compute_residual_displacement_field_ssd_3d PASSED [ 8%]
dipy/align/tests/test_sumsqdiff.py::test_solve_2d_symmetric_positive_definite PASSED [ 8%]
dipy/align/tests/test_sumsqdiff.py::test_solve_3d_symmetric_positive_definite PASSED [ 8%]
dipy/align/tests/test_sumsqdiff.py::test_compute_energy_ssd_2d PASSED [ 8%]
dipy/align/tests/test_sumsqdiff.py::test_compute_energy_ssd_3d PASSED [ 8%]
dipy/align/tests/test_sumsqdiff.py::test_compute_ssd_demons_step_2d PASSED [ 8%]
dipy/align/tests/test_sumsqdiff.py::test_compute_ssd_demons_step_3d PASSED [ 9%]
dipy/align/tests/test_transforms.py::test_number_of_parameters PASSED [ 9%]
dipy/align/tests/test_transforms.py::test_param_to_matrix_2d PASSED [ 9%]
dipy/align/tests/test_transforms.py::test_param_to_matrix_3d PASSED [ 9%]
dipy/align/tests/test_transforms.py::test_identity_parameters PASSED [ 9%]
dipy/align/tests/test_transforms.py::test_jacobian_functions PASSED [ 9%]
dipy/align/tests/test_transforms.py::test_invalid_transform PASSED [ 9%]
dipy/align/tests/test_vector_fields.py::test_random_displacement_field_2d PASSED [ 9%]
dipy/align/tests/test_vector_fields.py::test_random_displacement_field_3d PASSED [ 9%]
dipy/align/tests/test_vector_fields.py::test_harmonic_fields_2d PASSED [ 9%]
dipy/align/tests/test_vector_fields.py::test_harmonic_fields_3d PASSED [ 10%]
dipy/align/tests/test_vector_fields.py::test_circle PASSED [ 10%]
dipy/align/tests/test_vector_fields.py::test_sphere PASSED [ 10%]
dipy/align/tests/test_vector_fields.py::test_warping_2d PASSED [ 10%]
dipy/align/tests/test_vector_fields.py::test_warping_3d PASSED [ 10%]
dipy/align/tests/test_vector_fields.py::test_affine_transforms_2d PASSED [ 10%]
dipy/align/tests/test_vector_fields.py::test_affine_transforms_3d PASSED [ 10%]
dipy/align/tests/test_vector_fields.py::test_compose_vector_fields_2d PASSED [ 10%]
dipy/align/tests/test_vector_fields.py::test_compose_vector_fields_3d PASSED [ 10%]
dipy/align/tests/test_vector_fields.py::test_invert_vector_field_2d PASSED [ 10%]
dipy/align/tests/test_vector_fields.py::test_invert_vector_field_3d PASSED [ 11%]
dipy/align/tests/test_vector_fields.py::test_resample_vector_field_2d PASSED [ 11%]
dipy/align/tests/test_vector_fields.py::test_resample_vector_field_3d PASSED [ 11%]
dipy/align/tests/test_vector_fields.py::test_downsample_scalar_field_2d PASSED [ 11%]
dipy/align/tests/test_vector_fields.py::test_downsample_displacement_field_2d PASSED [ 11%]
dipy/align/tests/test_vector_fields.py::test_downsample_scalar_field_3d PASSED [ 11%]
dipy/align/tests/test_vector_fields.py::test_downsample_displacement_field_3d PASSED [ 11%]
dipy/align/tests/test_vector_fields.py::test_reorient_vector_field_2d PASSED [ 11%]
dipy/align/tests/test_vector_fields.py::test_reorient_vector_field_3d PASSED [ 11%]
dipy/align/tests/test_vector_fields.py::test_reorient_random_vector_fields PASSED [ 12%]
dipy/align/tests/test_vector_fields.py::test_gradient_2d PASSED [ 12%]
dipy/align/tests/test_vector_fields.py::test_gradient_3d PASSED [ 12%]
dipy/align/tests/test_whole_brain_slr.py::test_whole_brain_slr PASSED [ 12%]
dipy/align/tests/test_whole_brain_slr.py::test_slr_one_streamline PASSED [ 12%]
dipy/core/tests/test_geometry.py::test_vector_norm PASSED [ 12%]
dipy/core/tests/test_geometry.py::test_sphere_cart PASSED [ 12%]
dipy/core/tests/test_geometry.py::test_invert_transform PASSED [ 12%]
dipy/core/tests/test_geometry.py::test_nearest_pos_semi_def PASSED [ 12%]
dipy/core/tests/test_geometry.py::test_cart_distance PASSED [ 12%]
dipy/core/tests/test_geometry.py::test_sphere_distance PASSED [ 13%]
dipy/core/tests/test_geometry.py::test_vector_cosine PASSED [ 13%]
dipy/core/tests/test_geometry.py::test_lambert_equal_area_projection_polar PASSED [ 13%]
dipy/core/tests/test_geometry.py::test_lambert_equal_area_projection_cart PASSED [ 13%]
dipy/core/tests/test_geometry.py::test_circumradius PASSED [ 13%]
dipy/core/tests/test_geometry.py::test_vec2vec_rotmat PASSED [ 13%]
dipy/core/tests/test_geometry.py::test_compose_transformations PASSED [ 13%]
dipy/core/tests/test_geometry.py::test_compose_decompose_matrix PASSED [ 13%]
dipy/core/tests/test_geometry.py::test_perpendicular_directions PASSED [ 13%]
dipy/core/tests/test_geometry.py::test_dist_to_corner PASSED [ 13%]
dipy/core/tests/test_geometry.py::test_is_hemispherical PASSED [ 14%]
dipy/core/tests/test_gradients.py::test_unique_bvals_deprecated PASSED [ 14%]
dipy/core/tests/test_gradients.py::test_mask_non_weighted_bvals PASSED [ 14%]
dipy/core/tests/test_gradients.py::test_btable_prepare PASSED [ 14%]
dipy/core/tests/test_gradients.py::test_GradientTable PASSED [ 14%]
dipy/core/tests/test_gradients.py::test_GradientTable_btensor_calculation PASSED [ 14%]
dipy/core/tests/test_gradients.py::test_gradient_table_from_qvals_bvecs PASSED [ 14%]
dipy/core/tests/test_gradients.py::test_gradient_table_from_gradient_strength_bvecs PASSED [ 14%]
dipy/core/tests/test_gradients.py::test_gradient_table_from_bvals_bvecs PASSED [ 14%]
dipy/core/tests/test_gradients.py::test_gradient_table_special_bvals_bvecs_case PASSED [ 14%]
dipy/core/tests/test_gradients.py::test_b0s PASSED [ 15%]
dipy/core/tests/test_gradients.py::test_gtable_from_files PASSED [ 15%]
dipy/core/tests/test_gradients.py::test_deltas PASSED [ 15%]
dipy/core/tests/test_gradients.py::test_qvalues PASSED [ 15%]
dipy/core/tests/test_gradients.py::test_reorient_bvecs PASSED [ 15%]
dipy/core/tests/test_gradients.py::test_nan_bvecs PASSED [ 15%]
dipy/core/tests/test_gradients.py::test_generate_bvecs PASSED [ 15%]
dipy/core/tests/test_gradients.py::test_getitem_idx PASSED [ 15%]
dipy/core/tests/test_gradients.py::test_round_bvals PASSED [ 15%]
dipy/core/tests/test_gradients.py::test_unique_bvals_tolerance PASSED [ 15%]
dipy/core/tests/test_gradients.py::test_get_bval_indices PASSED [ 16%]
dipy/core/tests/test_gradients.py::test_unique_bvals_magnitude PASSED [ 16%]
dipy/core/tests/test_gradients.py::test_check_multi_b PASSED [ 16%]
dipy/core/tests/test_gradients.py::test_btens_to_params PASSED [ 16%]
dipy/core/tests/test_gradients.py::test_params_to_btens PASSED [ 16%]
dipy/core/tests/test_gradients.py::test_orientation_from_to_string PASSED [ 16%]
dipy/core/tests/test_gradients.py::test_reorient_vectors PASSED [ 16%]
dipy/core/tests/test_gradients.py::test_affine_input_change PASSED [ 16%]
dipy/core/tests/test_graph.py::test_graph PASSED [ 16%]
dipy/core/tests/test_interpolation.py::test_trilinear_interpolate PASSED [ 16%]
dipy/core/tests/test_interpolation.py::test_interpolate_scalar_2d PASSED [ 17%]
dipy/core/tests/test_interpolation.py::test_interpolate_scalar_nn_2d PASSED [ 17%]
dipy/core/tests/test_interpolation.py::test_interpolate_scalar_nn_3d PASSED [ 17%]
dipy/core/tests/test_interpolation.py::test_interpolate_scalar_3d PASSED [ 17%]
dipy/core/tests/test_interpolation.py::test_interpolate_vector_3d PASSED [ 17%]
dipy/core/tests/test_interpolation.py::test_interpolate_vector_2d PASSED [ 17%]
dipy/core/tests/test_interpolation.py::test_NearestNeighborInterpolator PASSED [ 17%]
dipy/core/tests/test_interpolation.py::test_TriLinearInterpolator PASSED [ 17%]
dipy/core/tests/test_interpolation.py::test_trilinear_interp_cubic_voxels PASSED [ 17%]
dipy/core/tests/test_interpolation.py::test_interp_rbf PASSED [ 17%]
dipy/core/tests/test_ndindex.py::test_ndindex PASSED [ 18%]
dipy/core/tests/test_ndindex.py::test_ndindex_0d PASSED [ 18%]
dipy/core/tests/test_optimize.py::test_optimize_new_scipy PASSED [ 18%]
dipy/core/tests/test_optimize.py::test_sklearn_linear_solver PASSED [ 18%]
dipy/core/tests/test_optimize.py::test_nonnegativeleastsquares PASSED [ 18%]
dipy/core/tests/test_optimize.py::test_spdot PASSED [ 18%]
dipy/core/tests/test_optimize.py::test_sparse_nnls PASSED [ 18%]
dipy/core/tests/test_rng.py::test_wichmann_hill2006 PASSED [ 18%]
dipy/core/tests/test_rng.py::test_wichmann_hill1982 PASSED [ 18%]
dipy/core/tests/test_rng.py::test_LEcuyer PASSED [ 18%]
dipy/core/tests/test_sphere.py::test_sphere_construct_args PASSED [ 19%]
dipy/core/tests/test_sphere.py::test_sphere_edges_faces PASSED [ 19%]
dipy/core/tests/test_sphere.py::test_sphere_not_unit PASSED [ 19%]
dipy/core/tests/test_sphere.py::test_bad_edges_faces PASSED [ 19%]
dipy/core/tests/test_sphere.py::test_sphere_construct PASSED [ 19%]
dipy/core/tests/test_sphere.py::test_unique_edges PASSED [ 19%]
dipy/core/tests/test_sphere.py::test_unique_sets PASSED [ 19%]
dipy/core/tests/test_sphere.py::test_faces_from_sphere_vertices SKIPPED [ 19%]
dipy/core/tests/test_sphere.py::test_sphere_attrs PASSED [ 19%]
dipy/core/tests/test_sphere.py::test_edges_faces SKIPPED (Requires S...) [ 19%]
dipy/core/tests/test_sphere.py::test_sphere_subdivide SKIPPED (Requi...) [ 20%]
dipy/core/tests/test_sphere.py::test_sphere_find_closest PASSED [ 20%]
dipy/core/tests/test_sphere.py::test_hemisphere_find_closest PASSED [ 20%]
dipy/core/tests/test_sphere.py::test_hemisphere_subdivide SKIPPED (R...) [ 20%]
dipy/core/tests/test_sphere.py::test_hemisphere_constructor PASSED [ 20%]
dipy/core/tests/test_sphere.py::test_mirror SKIPPED (Requires SCIPY....) [ 20%]
dipy/core/tests/test_sphere.py::test_hemisphere_faces SKIPPED (Requi...) [ 20%]
dipy/core/tests/test_sphere.py::test_get_force PASSED [ 20%]
dipy/core/tests/test_sphere.py::test_disperse_charges PASSED [ 20%]
dipy/core/tests/test_sphere.py::test_disperse_charges_alt PASSED [ 20%]
dipy/core/tests/test_sphere.py::test_fibonacci_sphere PASSED [ 21%]
dipy/core/tests/test_subdivide_octahedron.py::test_create_unit_sphere PASSED [ 21%]
dipy/data/tests/test_data.py::test_sphere_dtypes PASSED [ 21%]
dipy/data/tests/test_fetcher.py::test_check_md5 PASSED [ 21%]
dipy/data/tests/test_fetcher.py::test_make_fetcher PASSED [ 21%]
dipy/data/tests/test_fetcher.py::test_fetch_data SKIPPED (test skewe...) [ 21%]
dipy/denoise/tests/test_ascm.py::test_ascm_static PASSED [ 21%]
dipy/denoise/tests/test_ascm.py::test_ascm_random_noise PASSED [ 21%]
dipy/denoise/tests/test_ascm.py::test_ascm_rmse_with_nlmeans PASSED [ 21%]
dipy/denoise/tests/test_ascm.py::test_sharpness PASSED [ 21%]
dipy/denoise/tests/test_ascm.py::test_ascm_accuracy PASSED [ 22%]
dipy/denoise/tests/test_denoise.py::test_denoise PASSED [ 22%]
dipy/denoise/tests/test_gibbs.py::test_parallel PASSED [ 22%]
dipy/denoise/tests/test_gibbs.py::test_inplace PASSED [ 22%]
dipy/denoise/tests/test_gibbs.py::test_gibbs_2d PASSED [ 22%]
dipy/denoise/tests/test_gibbs.py::test_gibbs_3d PASSED [ 22%]
dipy/denoise/tests/test_gibbs.py::test_gibbs_4d PASSED [ 22%]
dipy/denoise/tests/test_gibbs.py::test_swapped_gibbs_2d PASSED [ 22%]
dipy/denoise/tests/test_gibbs.py::test_swapped_gibbs_3d PASSED [ 22%]
dipy/denoise/tests/test_gibbs.py::test_swapped_gibbs_4d PASSED [ 23%]
dipy/denoise/tests/test_gibbs.py::test_gibbs_errors PASSED [ 23%]
dipy/denoise/tests/test_gibbs.py::test_gibbs_subfunction PASSED [ 23%]
dipy/denoise/tests/test_gibbs.py::test_non_square_image PASSED [ 23%]
dipy/denoise/tests/test_kernel.py::test_enhancement_kernel PASSED [ 23%]
dipy/denoise/tests/test_lpca.py::test_lpca_static PASSED [ 23%]
dipy/denoise/tests/test_lpca.py::test_lpca_random_noise PASSED [ 23%]
dipy/denoise/tests/test_lpca.py::test_lpca_boundary_behaviour PASSED [ 23%]
dipy/denoise/tests/test_lpca.py::test_lpca_rmse PASSED [ 23%]
dipy/denoise/tests/test_lpca.py::test_lpca_sharpness PASSED [ 23%]
dipy/denoise/tests/test_lpca.py::test_lpca_dtype PASSED [ 24%]
dipy/denoise/tests/test_lpca.py::test_lpca_wrong PASSED [ 24%]
dipy/denoise/tests/test_lpca.py::test_phantom PASSED [ 24%]
dipy/denoise/tests/test_lpca.py::test_lpca_ill_conditioned PASSED [ 24%]
dipy/denoise/tests/test_lpca.py::test_lpca_radius_wrong_shape PASSED [ 24%]
dipy/denoise/tests/test_lpca.py::test_lpca_sigma_wrong_shape PASSED [ 24%]
dipy/denoise/tests/test_lpca.py::test_lpca_no_gtab_no_sigma PASSED [ 24%]
dipy/denoise/tests/test_lpca.py::test_pca_classifier PASSED [ 24%]
dipy/denoise/tests/test_lpca.py::test_mppca_in_phantom PASSED [ 24%]
dipy/denoise/tests/test_lpca.py::test_create_patch_radius_arr PASSED [ 24%]
dipy/denoise/tests/test_lpca.py::test_compute_patch_size PASSED [ 25%]
dipy/denoise/tests/test_lpca.py::test_compute_num_samples PASSED [ 25%]
dipy/denoise/tests/test_lpca.py::test_compute_suggested_patch_radius PASSED [ 25%]
dipy/denoise/tests/test_lpca.py::test_mppca_returned_sigma PASSED [ 25%]
dipy/denoise/tests/test_nlmeans.py::test_nlmeans_padding PASSED [ 25%]
dipy/denoise/tests/test_nlmeans.py::test_nlmeans_static PASSED [ 25%]
dipy/denoise/tests/test_nlmeans.py::test_nlmeans_wrong PASSED [ 25%]
dipy/denoise/tests/test_nlmeans.py::test_nlmeans_random_noise PASSED [ 25%]
dipy/denoise/tests/test_nlmeans.py::test_nlmeans_boundary PASSED [ 25%]
dipy/denoise/tests/test_nlmeans.py::test_nlmeans_4D_and_mask PASSED [ 25%]
dipy/denoise/tests/test_nlmeans.py::test_nlmeans_dtype PASSED [ 26%]
dipy/denoise/tests/test_nlmeans.py::test_nlmeans_4d_3dsigma_and_threads PASSED [ 26%]
dipy/denoise/tests/test_noise_estimate.py::test_inv_nchi PASSED [ 26%]
dipy/denoise/tests/test_noise_estimate.py::test_piesno PASSED [ 26%]
dipy/denoise/tests/test_noise_estimate.py::test_piesno_type PASSED [ 26%]
dipy/denoise/tests/test_noise_estimate.py::test_estimate_sigma PASSED [ 26%]
dipy/denoise/tests/test_noise_estimate.py::test_pca_noise_estimate PASSED [ 26%]
dipy/denoise/tests/test_non_local_means.py::test_nlmeans_static PASSED [ 26%]
dipy/denoise/tests/test_non_local_means.py::test_nlmeans_random_noise PASSED [ 26%]
dipy/denoise/tests/test_non_local_means.py::test_scalar_sigma PASSED [ 26%]
dipy/denoise/tests/test_non_local_means.py::test_nlmeans_boundary PASSED [ 27%]
dipy/denoise/tests/test_non_local_means.py::test_nlmeans_wrong PASSED [ 27%]
dipy/denoise/tests/test_non_local_means.py::test_nlmeans_4D_and_mask PASSED [ 27%]
dipy/denoise/tests/test_non_local_means.py::test_nlmeans_dtype PASSED [ 27%]
dipy/denoise/tests/test_patch2self.py::test_patch2self_random_noise PASSED [ 27%]
dipy/denoise/tests/test_patch2self.py::test_patch2self_boundary PASSED [ 27%]
dipy/denoise/tests/test_patch2self.py::test_phantom PASSED [ 27%]
dipy/direction/tests/test_bootstrap_direction_getter.py::test_bdg_initial_direction PASSED [ 27%]
dipy/direction/tests/test_bootstrap_direction_getter.py::test_bdg_get_direction PASSED [ 27%]
dipy/direction/tests/test_bootstrap_direction_getter.py::test_bdg_residual PASSED [ 27%]
dipy/direction/tests/test_bootstrap_direction_getter.py::test_boot_pmf PASSED [ 28%]
dipy/direction/tests/test_peaks.py::test_peak_directions_nl PASSED [ 28%]
dipy/direction/tests/test_peaks.py::test_OdfFit PASSED [ 28%]
dipy/direction/tests/test_peaks.py::test_peak_directions PASSED [ 28%]
dipy/direction/tests/test_peaks.py::test_peak_directions_thorough PASSED [ 28%]
dipy/direction/tests/test_peaks.py::test_difference_with_minmax PASSED [ 28%]
dipy/direction/tests/test_peaks.py::test_degenerate_cases PASSED [ 28%]
dipy/direction/tests/test_peaks.py::test_peaksFromModel PASSED [ 28%]
dipy/direction/tests/test_peaks.py::test_peaksFromModelParallel PASSED [ 28%]
dipy/direction/tests/test_peaks.py::test_peaks_shm_coeff PASSED [ 28%]
dipy/direction/tests/test_peaks.py::test_reshape_peaks_for_visualization PASSED [ 29%]
dipy/direction/tests/test_pmf.py::test_pmf_val PASSED [ 29%]
dipy/direction/tests/test_pmf.py::test_pmf_from_sh PASSED [ 29%]
dipy/direction/tests/test_pmf.py::test_pmf_from_array PASSED [ 29%]
dipy/direction/tests/test_prob_direction_getter.py::test_ProbabilisticDirectionGetter PASSED [ 29%]
dipy/direction/tests/test_prob_direction_getter.py::test_DeterministicMaximumDirectionGetter PASSED [ 29%]
dipy/direction/tests/test_ptt_direction_getter.py::test_ptt_tracking SKIPPED [ 29%]
dipy/direction/tests/test_ptt_direction_getter.py::test_PTTDirectionGetter PASSED [ 29%]
dipy/io/tests/test_dpy.py::test_dpy PASSED [ 29%]
dipy/io/tests/test_io.py::test_imports PASSED [ 29%]
dipy/io/tests/test_io_gradients.py::test_read_bvals_bvecs PASSED [ 30%]
dipy/io/tests/test_io_peaks.py::test_io_peaks PASSED [ 30%]
dipy/io/tests/test_io_peaks.py::test_io_save_peaks_error PASSED [ 30%]
dipy/io/tests/test_stateful_tractogram.py::test_direct_trx_loading SKIPPED [ 30%]
dipy/io/tests/test_stateful_tractogram.py::test_trk_equal_in_vox_space SKIPPED [ 30%]
dipy/io/tests/test_stateful_tractogram.py::test_tck_equal_in_vox_space SKIPPED [ 30%]
dipy/io/tests/test_stateful_tractogram.py::test_trx_equal_in_vox_space SKIPPED [ 30%]
dipy/io/tests/test_stateful_tractogram.py::test_fib_equal_in_vox_space SKIPPED [ 30%]
dipy/io/tests/test_stateful_tractogram.py::test_dpy_equal_in_vox_space SKIPPED [ 30%]
dipy/io/tests/test_stateful_tractogram.py::test_trk_equal_in_rasmm_space SKIPPED [ 30%]
dipy/io/tests/test_stateful_tractogram.py::test_tck_equal_in_rasmm_space SKIPPED [ 31%]
dipy/io/tests/test_stateful_tractogram.py::test_trx_equal_in_rasmm_space SKIPPED [ 31%]
dipy/io/tests/test_stateful_tractogram.py::test_fib_equal_in_rasmm_space SKIPPED [ 31%]
dipy/io/tests/test_stateful_tractogram.py::test_dpy_equal_in_rasmm_space SKIPPED [ 31%]
dipy/io/tests/test_stateful_tractogram.py::test_trk_equal_in_voxmm_space SKIPPED [ 31%]
dipy/io/tests/test_stateful_tractogram.py::test_tck_equal_in_voxmm_space SKIPPED [ 31%]
dipy/io/tests/test_stateful_tractogram.py::test_trx_equal_in_voxmm_space SKIPPED [ 31%]
dipy/io/tests/test_stateful_tractogram.py::test_fib_equal_in_voxmm_space SKIPPED [ 31%]
dipy/io/tests/test_stateful_tractogram.py::test_dpy_equal_in_voxmm_space SKIPPED [ 31%]
dipy/io/tests/test_stateful_tractogram.py::test_switch_voxel_sizes_from_rasmm SKIPPED [ 31%]
dipy/io/tests/test_stateful_tractogram.py::test_switch_voxel_sizes_from_voxmm SKIPPED [ 32%]
dipy/io/tests/test_stateful_tractogram.py::test_to_rasmm_equivalence SKIPPED [ 32%]
dipy/io/tests/test_stateful_tractogram.py::test_to_voxmm_equivalence SKIPPED [ 32%]
dipy/io/tests/test_stateful_tractogram.py::test_to_vox_equivalence SKIPPED [ 32%]
dipy/io/tests/test_stateful_tractogram.py::test_to_corner_equivalence SKIPPED [ 32%]
dipy/io/tests/test_stateful_tractogram.py::test_to_center_equivalence SKIPPED [ 32%]
dipy/io/tests/test_stateful_tractogram.py::test_empty_sft_case SKIPPED [ 32%]
dipy/io/tests/test_stateful_tractogram.py::test_trk_iterative_saving_loading SKIPPED [ 32%]
dipy/io/tests/test_stateful_tractogram.py::test_tck_iterative_saving_loading SKIPPED [ 32%]
dipy/io/tests/test_stateful_tractogram.py::test_trx_iterative_saving_loading SKIPPED [ 32%]
dipy/io/tests/test_stateful_tractogram.py::test_fib_iterative_saving_loading SKIPPED [ 33%]
dipy/io/tests/test_stateful_tractogram.py::test_dpy_iterative_saving_loading SKIPPED [ 33%]
dipy/io/tests/test_stateful_tractogram.py::test_iterative_to_vox_transformation SKIPPED [ 33%]
dipy/io/tests/test_stateful_tractogram.py::test_iterative_to_voxmm_transformation SKIPPED [ 33%]
dipy/io/tests/test_stateful_tractogram.py::test_empty_space_change SKIPPED [ 33%]
dipy/io/tests/test_stateful_tractogram.py::test_empty_shift_change SKIPPED [ 33%]
dipy/io/tests/test_stateful_tractogram.py::test_empty_remove_invalid SKIPPED [ 33%]
dipy/io/tests/test_stateful_tractogram.py::test_shift_corner_from_rasmm SKIPPED [ 33%]
dipy/io/tests/test_stateful_tractogram.py::test_shift_corner_from_voxmm SKIPPED [ 33%]
dipy/io/tests/test_stateful_tractogram.py::test_iterative_shift_corner SKIPPED [ 34%]
dipy/io/tests/test_stateful_tractogram.py::test_replace_streamlines SKIPPED [ 34%]
dipy/io/tests/test_stateful_tractogram.py::test_subsample_streamlines SKIPPED [ 34%]
dipy/io/tests/test_stateful_tractogram.py::test_reassign_both_data_sep_to_empty SKIPPED [ 34%]
dipy/io/tests/test_stateful_tractogram.py::test_reassign_both_data_sep SKIPPED [ 34%]
dipy/io/tests/test_stateful_tractogram.py::test_bounding_bbox_valid[Origin.NIFTI] SKIPPED [ 34%]
dipy/io/tests/test_stateful_tractogram.py::test_bounding_bbox_valid[Origin.TRACKVIS] SKIPPED [ 34%]
dipy/io/tests/test_stateful_tractogram.py::test_random_point_color SKIPPED [ 34%]
dipy/io/tests/test_stateful_tractogram.py::test_random_point_gray SKIPPED [ 34%]
dipy/io/tests/test_stateful_tractogram.py::test_random_streamline_color SKIPPED [ 34%]
dipy/io/tests/test_stateful_tractogram.py::test_out_of_grid[100-True] SKIPPED [ 35%]
dipy/io/tests/test_stateful_tractogram.py::test_out_of_grid[-100-True] SKIPPED [ 35%]
dipy/io/tests/test_stateful_tractogram.py::test_out_of_grid[0-False] SKIPPED [ 35%]
dipy/io/tests/test_stateful_tractogram.py::test_data_per_point_consistency_addition SKIPPED [ 35%]
dipy/io/tests/test_stateful_tractogram.py::test_data_per_streamline_consistency_addition SKIPPED [ 35%]
dipy/io/tests/test_stateful_tractogram.py::test_space_consistency_addition SKIPPED [ 35%]
dipy/io/tests/test_stateful_tractogram.py::test_origin_consistency_addition SKIPPED [ 35%]
dipy/io/tests/test_stateful_tractogram.py::test_space_attributes_consistency_addition SKIPPED [ 35%]
dipy/io/tests/test_stateful_tractogram.py::test_equality SKIPPED ("T...) [ 35%]
dipy/io/tests/test_stateful_tractogram.py::test_basic_slicing SKIPPED [ 35%]
dipy/io/tests/test_stateful_tractogram.py::test_space_side_effect_slicing SKIPPED [ 36%]
dipy/io/tests/test_stateful_tractogram.py::test_origin_side_effect_slicing SKIPPED [ 36%]
dipy/io/tests/test_stateful_tractogram.py::test_advanced_slicing SKIPPED [ 36%]
dipy/io/tests/test_stateful_tractogram.py::test_basic_addition SKIPPED [ 36%]
dipy/io/tests/test_stateful_tractogram.py::test_space_side_effect_addition SKIPPED [ 36%]
dipy/io/tests/test_stateful_tractogram.py::test_origin_side_effect_addition SKIPPED [ 36%]
dipy/io/tests/test_stateful_tractogram.py::test_invalid_streamlines SKIPPED [ 36%]
dipy/io/tests/test_stateful_tractogram.py::test_invalid_streamlines_epsilon SKIPPED [ 36%]
dipy/io/tests/test_stateful_tractogram.py::test_create_from_sft SKIPPED [ 36%]
dipy/io/tests/test_stateful_tractogram.py::test_init_dtype_dict_attributes SKIPPED [ 36%]
dipy/io/tests/test_stateful_tractogram.py::test_set_dtype_dict_attributes SKIPPED [ 37%]
dipy/io/tests/test_stateful_tractogram.py::test_set_partial_dtype_dict_attributes SKIPPED [ 37%]
dipy/io/tests/test_stateful_tractogram.py::test_non_existing_dtype_dict_attributes SKIPPED [ 37%]
dipy/io/tests/test_stateful_tractogram.py::test_from_sft_dtype_dict_attributes SKIPPED [ 37%]
dipy/io/tests/test_stateful_tractogram.py::test_slicing_dtype_dict_attributes SKIPPED [ 37%]
dipy/io/tests/test_streamline.py::test_io_trk SKIPPED ("Tests Data f...) [ 37%]
dipy/io/tests/test_streamline.py::test_io_tck SKIPPED ("Tests Data f...) [ 37%]
dipy/io/tests/test_streamline.py::test_io_trx SKIPPED ("Tests Data f...) [ 37%]
dipy/io/tests/test_streamline.py::test_io_vtk SKIPPED (Requires FURY) [ 37%]
dipy/io/tests/test_streamline.py::test_io_vtp SKIPPED (Requires FURY) [ 37%]
dipy/io/tests/test_streamline.py::test_io_dpy SKIPPED ("Tests Data f...) [ 38%]
dipy/io/tests/test_streamline.py::test_low_io_vtk SKIPPED (Requires ...) [ 38%]
dipy/io/tests/test_streamline.py::test_io_trk_load SKIPPED ("Tests D...) [ 38%]
dipy/io/tests/test_streamline.py::test_io_trk_save SKIPPED ("Tests D...) [ 38%]
dipy/io/tests/test_utils.py::test_decfa SKIPPED ("Tests Data failed ...) [ 38%]
dipy/io/tests/test_utils.py::test_reference_info_validity SKIPPED ("...) [ 38%]
dipy/io/tests/test_utils.py::test_reference_trk_file_info_identical SKIPPED [ 38%]
dipy/io/tests/test_utils.py::test_reference_trx_file_info_identical SKIPPED [ 38%]
dipy/io/tests/test_utils.py::test_reference_obj_info_identical SKIPPED [ 38%]
dipy/io/tests/test_utils.py::test_reference_header_info_identical SKIPPED [ 38%]
dipy/io/tests/test_utils.py::test_all_zeros_affine SKIPPED ("Tests D...) [ 39%]
dipy/io/tests/test_utils.py::test_read_img_arr_or_path SKIPPED ("Tes...) [ 39%]
dipy/nn/tests/test_cnn_1denoiser.py::test_default_Cnn1DDenoiser_sequential SKIPPED [ 39%]
dipy/nn/tests/test_cnn_1denoiser.py::test_default_Cnn1DDenoiser_flow SKIPPED [ 39%]
dipy/nn/tests/test_deepn4.py::test_default_weights SKIPPED (Requires...) [ 39%]
dipy/nn/tests/test_deepn4.py::test_default_weights_batch SKIPPED (Re...) [ 39%]
dipy/nn/tests/test_evac.py::test_default_weights SKIPPED (Requires T...) [ 39%]
dipy/nn/tests/test_evac.py::test_default_weights_batch SKIPPED (Requ...) [ 39%]
dipy/nn/tests/test_evac.py::test_T1_error SKIPPED (Requires TensorFlow) [ 39%]
dipy/nn/tests/test_histo_resdnn.py::test_default_weights SKIPPED (Re...) [ 39%]
dipy/nn/tests/test_histo_resdnn.py::test_predict_shape_and_masking SKIPPED [ 40%]
dipy/nn/tests/test_histo_resdnn.py::test_wrong_sh_order_weights SKIPPED [ 40%]
dipy/nn/tests/test_histo_resdnn.py::test_wrong_sh_order_input SKIPPED [ 40%]
dipy/nn/tests/test_synb0.py::test_default_weights SKIPPED (Requires ...) [ 40%]
dipy/nn/tests/test_synb0.py::test_default_weights_batch SKIPPED (Req...) [ 40%]
dipy/nn/tests/test_tf.py::test_default_mnist_sequential SKIPPED (Req...) [ 40%]
dipy/nn/tests/test_tf.py::test_default_mnist_slp SKIPPED (Requires T...) [ 40%]
dipy/nn/tests/test_tf.py::test_default_mnist_mlp SKIPPED (Requires T...) [ 40%]
dipy/nn/tests/test_utils.py::test_norm PASSED [ 40%]
dipy/nn/tests/test_utils.py::test_transform PASSED [ 40%]
dipy/reconst/tests/test_cache.py::test_basic_cache PASSED [ 41%]
dipy/reconst/tests/test_cross_validation.py::test_coeff_of_determination PASSED [ 41%]
dipy/reconst/tests/test_cross_validation.py::test_dti_xval PASSED [ 41%]
dipy/reconst/tests/test_cross_validation.py::test_csd_xval PASSED [ 41%]
dipy/reconst/tests/test_cross_validation.py::test_no_predict PASSED [ 41%]
dipy/reconst/tests/test_csdeconv.py::test_auto_response_deprecated PASSED [ 41%]
dipy/reconst/tests/test_csdeconv.py::test_response_from_mask_deprecated PASSED [ 41%]
dipy/reconst/tests/test_csdeconv.py::test_recursive_response_calibration PASSED [ 41%]
dipy/reconst/tests/test_csdeconv.py::test_mask_for_response_ssst PASSED [ 41%]
dipy/reconst/tests/test_csdeconv.py::test_mask_for_response_ssst_nvoxels PASSED [ 41%]
dipy/reconst/tests/test_csdeconv.py::test_response_from_mask_ssst PASSED [ 42%]
dipy/reconst/tests/test_csdeconv.py::test_auto_response_ssst PASSED [ 42%]
dipy/reconst/tests/test_csdeconv.py::test_csdeconv PASSED [ 42%]
dipy/reconst/tests/test_csdeconv.py::test_odfdeconv PASSED [ 42%]
dipy/reconst/tests/test_csdeconv.py::test_odf_sh_to_sharp PASSED [ 42%]
dipy/reconst/tests/test_csdeconv.py::test_forward_sdeconv_mat PASSED [ 42%]
dipy/reconst/tests/test_csdeconv.py::test_r2_term_odf_sharp PASSED [ 42%]
dipy/reconst/tests/test_csdeconv.py::test_csd_predict PASSED [ 42%]
dipy/reconst/tests/test_csdeconv.py::test_csd_predict_multi PASSED [ 42%]
dipy/reconst/tests/test_csdeconv.py::test_sphere_scaling_csdmodel PASSED [ 42%]
dipy/reconst/tests/test_csdeconv.py::test_default_lambda_csdmodel PASSED [ 43%]
dipy/reconst/tests/test_csdeconv.py::test_csd_superres PASSED [ 43%]
dipy/reconst/tests/test_csdeconv.py::test_csd_convergence PASSED [ 43%]
dipy/reconst/tests/test_cti.py::test_cti_prediction PASSED [ 43%]
dipy/reconst/tests/test_cti.py::test_split_cti_param PASSED [ 43%]
dipy/reconst/tests/test_cti.py::test_cti_fits PASSED [ 43%]
dipy/reconst/tests/test_cti.py::test_cti_errors PASSED [ 43%]
dipy/reconst/tests/test_cti.py::test_cti_design_matrix PASSED [ 43%]
dipy/reconst/tests/test_dki.py::test_positive_evals PASSED [ 43%]
dipy/reconst/tests/test_dki.py::test_split_dki_param PASSED [ 43%]
dipy/reconst/tests/test_dki.py::test_dki_fits PASSED [ 44%]
dipy/reconst/tests/test_dki.py::test_apparent_kurtosis_coef PASSED [ 44%]
dipy/reconst/tests/test_dki.py::test_dki_predict PASSED [ 44%]
dipy/reconst/tests/test_dki.py::test_carlson_rf PASSED [ 44%]
dipy/reconst/tests/test_dki.py::test_carlson_rd PASSED [ 44%]
dipy/reconst/tests/test_dki.py::test_Wrotate_single_fiber PASSED [ 44%]
dipy/reconst/tests/test_dki.py::test_Wrotate_crossing_fibers PASSED [ 44%]
dipy/reconst/tests/test_dki.py::test_Wcons PASSED [ 44%]
dipy/reconst/tests/test_dki.py::test_spherical_dki_statistics PASSED [ 44%]
dipy/reconst/tests/test_dki.py::test_compare_MK_method PASSED [ 45%]
dipy/reconst/tests/test_dki.py::test_single_voxel_DKI_stats PASSED [ 45%]
dipy/reconst/tests/test_dki.py::test_compare_RK_methods PASSED [ 45%]
dipy/reconst/tests/test_dki.py::test_MK_singularities PASSED [ 45%]
dipy/reconst/tests/test_dki.py::test_dki_errors PASSED [ 45%]
dipy/reconst/tests/test_dki.py::test_kurtosis_maximum PASSED [ 45%]
dipy/reconst/tests/test_dki.py::test_multi_voxel_kurtosis_maximum PASSED [ 45%]
dipy/reconst/tests/test_dki.py::test_kurtosis_fa PASSED [ 45%]
dipy/reconst/tests/test_dki_micro.py::test_single_fiber_model PASSED [ 45%]
dipy/reconst/tests/test_dki_micro.py::test_wmti_model_multi_voxel PASSED [ 45%]
dipy/reconst/tests/test_dki_micro.py::test_dki_micro_predict_single_voxel PASSED [ 46%]
dipy/reconst/tests/test_dki_micro.py::test_dki_micro_predict_multi_voxel PASSED [ 46%]
dipy/reconst/tests/test_dki_micro.py::test_dki_micro_awf_only PASSED [ 46%]
dipy/reconst/tests/test_dsi.py::test_dsi PASSED [ 46%]
dipy/reconst/tests/test_dsi.py::test_multivox_dsi PASSED [ 46%]
dipy/reconst/tests/test_dsi.py::test_multib0_dsi PASSED [ 46%]
dipy/reconst/tests/test_dsi_deconv.py::test_dsi PASSED [ 46%]
dipy/reconst/tests/test_dsi_deconv.py::test_multivox_dsi PASSED [ 46%]
dipy/reconst/tests/test_dsi_metrics.py::test_dsi_metrics PASSED [ 46%]
dipy/reconst/tests/test_dti.py::test_roll_evals PASSED [ 46%]
dipy/reconst/tests/test_dti.py::test_tensor_algebra PASSED [ 47%]
dipy/reconst/tests/test_dti.py::test_odf_with_zeros PASSED [ 47%]
dipy/reconst/tests/test_dti.py::test_tensor_model PASSED [ 47%]
dipy/reconst/tests/test_dti.py::test_indexing_on_tensor_fit PASSED [ 47%]
dipy/reconst/tests/test_dti.py::test_fa_of_zero PASSED [ 47%]
dipy/reconst/tests/test_dti.py::test_ga_of_zero PASSED [ 47%]
dipy/reconst/tests/test_dti.py::test_diffusivities PASSED [ 47%]
dipy/reconst/tests/test_dti.py::test_color_fa PASSED [ 47%]
dipy/reconst/tests/test_dti.py::test_wls_and_ls_fit PASSED [ 47%]
dipy/reconst/tests/test_dti.py::test_masked_array_with_tensor PASSED [ 47%]
dipy/reconst/tests/test_dti.py::test_fit_method_error PASSED [ 48%]
dipy/reconst/tests/test_dti.py::test_lower_triangular PASSED [ 48%]
dipy/reconst/tests/test_dti.py::test_from_lower_triangular PASSED [ 48%]
dipy/reconst/tests/test_dti.py::test_all_constant PASSED [ 48%]
dipy/reconst/tests/test_dti.py::test_all_zeros PASSED [ 48%]
dipy/reconst/tests/test_dti.py::test_mask PASSED [ 48%]
dipy/reconst/tests/test_dti.py::test_nnls_jacobian_func PASSED [ 48%]
dipy/reconst/tests/test_dti.py::test_nlls_fit_tensor PASSED [ 48%]
dipy/reconst/tests/test_dti.py::test_restore PASSED [ 48%]
dipy/reconst/tests/test_dti.py::test_adc PASSED [ 48%]
dipy/reconst/tests/test_dti.py::test_predict PASSED [ 49%]
dipy/reconst/tests/test_dti.py::test_eig_from_lo_tri PASSED [ 49%]
dipy/reconst/tests/test_dti.py::test_min_signal_alone PASSED [ 49%]
dipy/reconst/tests/test_dti.py::test_decompose_tensor_nan PASSED [ 49%]
dipy/reconst/tests/test_dti.py::test_design_matrix_lte PASSED [ 49%]
dipy/reconst/tests/test_eudx_dg.py::test_EuDXDirectionGetter PASSED [ 49%]
dipy/reconst/tests/test_forecast.py::test_forecast_positive_constrain SKIPPED [ 49%]
dipy/reconst/tests/test_forecast.py::test_forecast_csd PASSED [ 49%]
dipy/reconst/tests/test_forecast.py::test_forecast_odf PASSED [ 49%]
dipy/reconst/tests/test_forecast.py::test_forecast_indices PASSED [ 49%]
dipy/reconst/tests/test_forecast.py::test_forecast_predict PASSED [ 50%]
dipy/reconst/tests/test_forecast.py::test_multivox_forecast PASSED [ 50%]
dipy/reconst/tests/test_fwdti.py::test_fwdti_singlevoxel PASSED [ 50%]
dipy/reconst/tests/test_fwdti.py::test_fwdti_precision PASSED [ 50%]
dipy/reconst/tests/test_fwdti.py::test_fwdti_multi_voxel PASSED [ 50%]
dipy/reconst/tests/test_fwdti.py::test_fwdti_predictions PASSED [ 50%]
dipy/reconst/tests/test_fwdti.py::test_fwdti_errors PASSED [ 50%]
dipy/reconst/tests/test_fwdti.py::test_fwdti_restore PASSED [ 50%]
dipy/reconst/tests/test_fwdti.py::test_cholesky_functions PASSED [ 50%]
dipy/reconst/tests/test_fwdti.py::test_fwdti_jac_multi_voxel PASSED [ 50%]
dipy/reconst/tests/test_fwdti.py::test_standalone_functions PASSED [ 51%]
dipy/reconst/tests/test_fwdti.py::test_md_regularization PASSED [ 51%]
dipy/reconst/tests/test_fwdti.py::test_negative_s0 PASSED [ 51%]
dipy/reconst/tests/test_gqi.py::test_gqi PASSED [ 51%]
dipy/reconst/tests/test_gqi.py::test_mvoxel_gqi PASSED [ 51%]
dipy/reconst/tests/test_ivim.py::test_single_voxel_fit PASSED [ 51%]
dipy/reconst/tests/test_ivim.py::test_multivoxel PASSED [ 51%]
dipy/reconst/tests/test_ivim.py::test_ivim_errors PASSED [ 51%]
dipy/reconst/tests/test_ivim.py::test_mask PASSED [ 51%]
dipy/reconst/tests/test_ivim.py::test_with_higher_S0 PASSED [ 51%]
dipy/reconst/tests/test_ivim.py::test_b0_threshold_greater_than0 PASSED [ 52%]
dipy/reconst/tests/test_ivim.py::test_bounds_x0 PASSED [ 52%]
dipy/reconst/tests/test_ivim.py::test_predict PASSED [ 52%]
dipy/reconst/tests/test_ivim.py::test_fit_object PASSED [ 52%]
dipy/reconst/tests/test_ivim.py::test_shape PASSED [ 52%]
dipy/reconst/tests/test_ivim.py::test_multiple_b0 PASSED [ 52%]
dipy/reconst/tests/test_ivim.py::test_no_b0 PASSED [ 52%]
dipy/reconst/tests/test_ivim.py::test_noisy_fit PASSED [ 52%]
dipy/reconst/tests/test_ivim.py::test_S0 PASSED [ 52%]
dipy/reconst/tests/test_ivim.py::test_perfusion_fraction PASSED [ 52%]
dipy/reconst/tests/test_ivim.py::test_D_star PASSED [ 53%]
dipy/reconst/tests/test_ivim.py::test_D PASSED [ 53%]
dipy/reconst/tests/test_ivim.py::test_estimate_linear_fit PASSED [ 53%]
dipy/reconst/tests/test_ivim.py::test_estimate_f_D_star PASSED [ 53%]
dipy/reconst/tests/test_ivim.py::test_fit_one_stage PASSED [ 53%]
dipy/reconst/tests/test_ivim.py::test_leastsq_failing PASSED [ 53%]
dipy/reconst/tests/test_ivim.py::test_leastsq_error PASSED [ 53%]
dipy/reconst/tests/test_ivim.py::test_perfusion_fraction_vp SKIPPED [ 53%]
dipy/reconst/tests/test_ivim.py::test_D_star_vp SKIPPED (REQUIRES CVXPY) [ 53%]
dipy/reconst/tests/test_ivim.py::test_D_vp SKIPPED (REQUIRES CVXPY) [ 53%]
dipy/reconst/tests/test_mapmri.py::test_orthogonality_basis_functions PASSED [ 54%]
dipy/reconst/tests/test_mapmri.py::test_mapmri_number_of_coefficients PASSED [ 54%]
dipy/reconst/tests/test_mapmri.py::test_mapmri_initialize_radial_error PASSED [ 54%]
dipy/reconst/tests/test_mapmri.py::test_mapmri_initialize_gcv PASSED [ 54%]
dipy/reconst/tests/test_mapmri.py::test_mapmri_initialize_pos_radius PASSED [ 54%]
dipy/reconst/tests/test_mapmri.py::test_mapmri_signal_fitting PASSED [ 54%]
dipy/reconst/tests/test_mapmri.py::test_mapmri_isotropic_static_scale_factor PASSED [ 54%]
dipy/reconst/tests/test_mapmri.py::test_mapmri_signal_fitting_over_radial_order PASSED [ 54%]
dipy/reconst/tests/test_mapmri.py::test_mapmri_pdf_integral_unity PASSED [ 54%]
dipy/reconst/tests/test_mapmri.py::test_mapmri_compare_fitted_pdf_with_multi_tensor PASSED [ 54%]
dipy/reconst/tests/test_mapmri.py::test_mapmri_metrics_anisotropic PASSED [ 55%]
dipy/reconst/tests/test_mapmri.py::test_mapmri_metrics_isotropic PASSED [ 55%]
dipy/reconst/tests/test_mapmri.py::test_mapmri_laplacian_anisotropic PASSED [ 55%]
dipy/reconst/tests/test_mapmri.py::test_mapmri_laplacian_isotropic PASSED [ 55%]
dipy/reconst/tests/test_mapmri.py::test_signal_fitting_equality_anisotropic_isotropic PASSED [ 55%]
dipy/reconst/tests/test_mapmri.py::test_mapmri_isotropic_design_matrix_separability PASSED [ 55%]
dipy/reconst/tests/test_mapmri.py::test_estimate_radius_with_rtap PASSED [ 55%]
dipy/reconst/tests/test_mapmri.py::test_positivity_constraint SKIPPED [ 55%]
dipy/reconst/tests/test_mapmri.py::test_plus_constraint SKIPPED (Req...) [ 55%]
dipy/reconst/tests/test_mapmri.py::test_laplacian_regularization PASSED [ 56%]
dipy/reconst/tests/test_mapmri.py::test_mapmri_odf PASSED [ 56%]
dipy/reconst/tests/test_mcsd.py::test_mcsd_model_delta SKIPPED (Requ...) [ 56%]
dipy/reconst/tests/test_mcsd.py::test_MultiShellDeconvModel_response SKIPPED [ 56%]
dipy/reconst/tests/test_mcsd.py::test_MultiShellDeconvModel SKIPPED [ 56%]
dipy/reconst/tests/test_mcsd.py::test_MSDeconvFit SKIPPED (Requires ...) [ 56%]
dipy/reconst/tests/test_mcsd.py::test_multi_shell_fiber_response PASSED [ 56%]
dipy/reconst/tests/test_mcsd.py::test_mask_for_response_msmt PASSED [ 56%]
dipy/reconst/tests/test_mcsd.py::test_mask_for_response_msmt_nvoxels PASSED [ 56%]
dipy/reconst/tests/test_mcsd.py::test_response_from_mask_msmt PASSED [ 56%]
dipy/reconst/tests/test_mcsd.py::test_auto_response_msmt PASSED [ 57%]
dipy/reconst/tests/test_msdki.py::test_msdki_predict PASSED [ 57%]
dipy/reconst/tests/test_msdki.py::test_errors PASSED [ 57%]
dipy/reconst/tests/test_msdki.py::test_design_matrix PASSED [ 57%]
dipy/reconst/tests/test_msdki.py::test_msignal PASSED [ 57%]
dipy/reconst/tests/test_msdki.py::test_msdki_statistics PASSED [ 57%]
dipy/reconst/tests/test_msdki.py::test_kurtosis_to_smt2_conversion PASSED [ 57%]
dipy/reconst/tests/test_msdki.py::test_smt2_metrics PASSED [ 57%]
dipy/reconst/tests/test_msdki.py::test_smt2_specific_cases PASSED [ 57%]
dipy/reconst/tests/test_multi_voxel.py::test_squash PASSED [ 57%]
dipy/reconst/tests/test_multi_voxel.py::test_CallableArray PASSED [ 58%]
dipy/reconst/tests/test_multi_voxel.py::test_multi_voxel_fit PASSED [ 58%]
dipy/reconst/tests/test_odf.py::test_OdfFit PASSED [ 58%]
dipy/reconst/tests/test_odf.py::test_minmax_normalize PASSED [ 58%]
dipy/reconst/tests/test_odf.py::test_gfa PASSED [ 58%]
dipy/reconst/tests/test_peak_finding.py::test_local_maxima PASSED [ 58%]
dipy/reconst/tests/test_peak_finding.py::test_remove_similar_peaks PASSED [ 58%]
dipy/reconst/tests/test_peak_finding.py::test_search_descending PASSED [ 58%]
dipy/reconst/tests/test_qtdmri.py::test_input_parameters PASSED [ 58%]
dipy/reconst/tests/test_qtdmri.py::test_orthogonality_temporal_basis_functions PASSED [ 58%]
dipy/reconst/tests/test_qtdmri.py::test_anisotropic_isotropic_equivalence PASSED [ 59%]
dipy/reconst/tests/test_qtdmri.py::test_cartesian_normalization PASSED [ 59%]
dipy/reconst/tests/test_qtdmri.py::test_spherical_normalization PASSED [ 59%]
dipy/reconst/tests/test_qtdmri.py::test_anisotropic_reduced_MSE PASSED [ 59%]
dipy/reconst/tests/test_qtdmri.py::test_number_of_coefficients PASSED [ 59%]
dipy/reconst/tests/test_qtdmri.py::test_calling_cartesian_laplacian_with_precomputed_matrices PASSED [ 59%]
dipy/reconst/tests/test_qtdmri.py::test_calling_spherical_laplacian_with_precomputed_matrices PASSED [ 59%]
dipy/reconst/tests/test_qtdmri.py::test_q0_constraint_and_unity_of_ODFs SKIPPED [ 59%]
dipy/reconst/tests/test_qtdmri.py::test_laplacian_reduces_laplacian_norm SKIPPED [ 59%]
dipy/reconst/tests/test_qtdmri.py::test_spherical_laplacian_reduces_laplacian_norm SKIPPED [ 59%]
dipy/reconst/tests/test_qtdmri.py::test_laplacian_GCV_higher_weight_with_noise SKIPPED [ 60%]
dipy/reconst/tests/test_qtdmri.py::test_l1_increases_sparsity SKIPPED [ 60%]
dipy/reconst/tests/test_qtdmri.py::test_spherical_l1_increases_sparsity SKIPPED [ 60%]
dipy/reconst/tests/test_qtdmri.py::test_l1_CV SKIPPED (REQUIRES CVXPY) [ 60%]
dipy/reconst/tests/test_qtdmri.py::test_elastic_GCV_CV SKIPPED (REQU...) [ 60%]
dipy/reconst/tests/test_qtdmri.py::test_visualise_gradient_table_G_Delta_rainbow SKIPPED [ 60%]
dipy/reconst/tests/test_qti.py::test_from_3x3_to_6x1 PASSED [ 60%]
dipy/reconst/tests/test_qti.py::test_from_6x1_to_3x3 PASSED [ 60%]
dipy/reconst/tests/test_qti.py::test_from_6x6_to_21x1 PASSED [ 60%]
dipy/reconst/tests/test_qti.py::test_from_21x1_to_6x6 PASSED [ 60%]
dipy/reconst/tests/test_qti.py::test_cvxpy_1x6_to_3x3 PASSED [ 61%]
dipy/reconst/tests/test_qti.py::test_cvxpy_1x21_to_6x6 PASSED [ 61%]
dipy/reconst/tests/test_qti.py::test_helper_tensors PASSED [ 61%]
dipy/reconst/tests/test_qti.py::test_dtd_covariance PASSED [ 61%]
dipy/reconst/tests/test_qti.py::test_qti_signal PASSED [ 61%]
dipy/reconst/tests/test_qti.py::test_design_matrix PASSED [ 61%]
dipy/reconst/tests/test_qti.py::test_ls_sdp_fits PASSED [ 61%]
dipy/reconst/tests/test_qti.py::test_qti_model PASSED [ 61%]
dipy/reconst/tests/test_qti.py::test_qti_fit PASSED [ 61%]
dipy/reconst/tests/test_reco_utils.py::test_adj_countarrs PASSED [ 61%]
dipy/reconst/tests/test_reco_utils.py::test_argmax_from_countarrs PASSED [ 62%]
dipy/reconst/tests/test_rumba.py::test_rumba PASSED [ 62%]
dipy/reconst/tests/test_rumba.py::test_predict PASSED [ 62%]
dipy/reconst/tests/test_rumba.py::test_recursive_rumba PASSED [ 62%]
dipy/reconst/tests/test_rumba.py::test_multishell_rumba PASSED [ 62%]
dipy/reconst/tests/test_rumba.py::test_mvoxel_rumba PASSED [ 62%]
dipy/reconst/tests/test_rumba.py::test_global_fit PASSED [ 62%]
dipy/reconst/tests/test_rumba.py::test_mvoxel_global_fit PASSED [ 62%]
dipy/reconst/tests/test_rumba.py::test_generate_kernel PASSED [ 62%]
dipy/reconst/tests/test_sfm.py::test_design_matrix PASSED [ 62%]
dipy/reconst/tests/test_sfm.py::test_sfm PASSED [ 63%]
dipy/reconst/tests/test_sfm.py::test_predict PASSED [ 63%]
dipy/reconst/tests/test_sfm.py::test_sfm_background PASSED [ 63%]
dipy/reconst/tests/test_sfm.py::test_sfm_stick PASSED [ 63%]
dipy/reconst/tests/test_sfm.py::test_sfm_sklearnlinearsolver PASSED [ 63%]
dipy/reconst/tests/test_sfm.py::test_exponential_iso PASSED [ 63%]
dipy/reconst/tests/test_shm.py::test_order_from_ncoeff PASSED [ 63%]
dipy/reconst/tests/test_shm.py::test_sph_harm_ind_list PASSED [ 63%]
dipy/reconst/tests/test_shm.py::test_real_sh_descoteaux_from_index PASSED [ 63%]
dipy/reconst/tests/test_shm.py::test_gen_dirac PASSED [ 63%]
dipy/reconst/tests/test_shm.py::test_real_sym_sh_mrtrix PASSED [ 64%]
dipy/reconst/tests/test_shm.py::test_real_sym_sh_basis PASSED [ 64%]
dipy/reconst/tests/test_shm.py::test_real_sh_descoteaux1 PASSED [ 64%]
dipy/reconst/tests/test_shm.py::test_real_sh_tournier PASSED [ 64%]
dipy/reconst/tests/test_shm.py::test_real_sh_descoteaux2 PASSED [ 64%]
dipy/reconst/tests/test_shm.py::test_sh_to_sf_matrix PASSED [ 64%]
dipy/reconst/tests/test_shm.py::test_smooth_pinv PASSED [ 64%]
dipy/reconst/tests/test_shm.py::test_normalize_data PASSED [ 64%]
dipy/reconst/tests/test_shm.py::TestQballModel::test_single_voxel_fit PASSED [ 64%]
dipy/reconst/tests/test_shm.py::TestQballModel::test_mulit_voxel_fit PASSED [ 64%]
dipy/reconst/tests/test_shm.py::TestQballModel::test_sh_order PASSED [ 65%]
dipy/reconst/tests/test_shm.py::TestQballModel::test_gfa PASSED [ 65%]
dipy/reconst/tests/test_shm.py::TestQballModel::test_min_signal_default PASSED [ 65%]
dipy/reconst/tests/test_shm.py::test_SphHarmFit PASSED [ 65%]
dipy/reconst/tests/test_shm.py::TestOpdtModel::test_single_voxel_fit PASSED [ 65%]
dipy/reconst/tests/test_shm.py::TestOpdtModel::test_mulit_voxel_fit PASSED [ 65%]
dipy/reconst/tests/test_shm.py::TestOpdtModel::test_sh_order PASSED [ 65%]
dipy/reconst/tests/test_shm.py::TestOpdtModel::test_gfa PASSED [ 65%]
dipy/reconst/tests/test_shm.py::TestOpdtModel::test_min_signal_default PASSED [ 65%]
dipy/reconst/tests/test_shm.py::TestCsaOdfModel::test_single_voxel_fit PASSED [ 65%]
dipy/reconst/tests/test_shm.py::TestCsaOdfModel::test_mulit_voxel_fit PASSED [ 66%]
dipy/reconst/tests/test_shm.py::TestCsaOdfModel::test_sh_order PASSED [ 66%]
dipy/reconst/tests/test_shm.py::TestCsaOdfModel::test_gfa PASSED [ 66%]
dipy/reconst/tests/test_shm.py::TestCsaOdfModel::test_min_signal_default PASSED [ 66%]
dipy/reconst/tests/test_shm.py::test_hat_and_lcr PASSED [ 66%]
dipy/reconst/tests/test_shm.py::test_bootstrap_array PASSED [ 66%]
dipy/reconst/tests/test_shm.py::test_ResidualBootstrapWrapper PASSED [ 66%]
dipy/reconst/tests/test_shm.py::test_sf_to_sh PASSED [ 66%]
dipy/reconst/tests/test_shm.py::test_faster_sph_harm PASSED [ 66%]
dipy/reconst/tests/test_shm.py::test_anisotropic_power PASSED [ 67%]
dipy/reconst/tests/test_shm.py::test_calculate_max_order PASSED [ 67%]
dipy/reconst/tests/test_shm.py::test_convert_sh_to_full_basis PASSED [ 67%]
dipy/reconst/tests/test_shm.py::test_convert_sh_from_legacy PASSED [ 67%]
dipy/reconst/tests/test_shm.py::test_convert_sh_to_legacy PASSED [ 67%]
dipy/reconst/tests/test_shm.py::test_convert_sh_descoteaux_tournier PASSED [ 67%]
dipy/reconst/tests/test_shore.py::test_shore_error PASSED [ 67%]
dipy/reconst/tests/test_shore.py::test_shore_positive_constrain SKIPPED [ 67%]
dipy/reconst/tests/test_shore.py::test_shore_fitting_no_constrain_e0 PASSED [ 67%]
dipy/reconst/tests/test_shore.py::test_shore_fitting_constrain_e0 SKIPPED [ 67%]
dipy/reconst/tests/test_shore_metrics.py::test_shore_metrics PASSED [ 68%]
dipy/reconst/tests/test_shore_odf.py::test_shore_odf PASSED [ 68%]
dipy/reconst/tests/test_shore_odf.py::test_multivox_shore PASSED [ 68%]
dipy/reconst/tests/test_utils.py::test_roi_in_volume PASSED [ 68%]
dipy/reconst/tests/test_utils.py::test_mask_from_roi PASSED [ 68%]
dipy/reconst/tests/test_utils.py::test_convert_tensor PASSED [ 68%]
dipy/reconst/tests/test_vec_val_vect.py::test_vec_val_vect PASSED [ 68%]
dipy/reconst/tests/test_vec_val_vect.py::test_vec_val_vect_dumber PASSED [ 68%]
dipy/segment/tests/test_adjustment.py::test_adjustment PASSED [ 68%]
dipy/segment/tests/test_bundles.py::test_rb_check_defaults PASSED [ 68%]
dipy/segment/tests/test_bundles.py::test_rb_disable_slr PASSED [ 69%]
dipy/segment/tests/test_bundles.py::test_rb_slr_threads PASSED [ 69%]
dipy/segment/tests/test_bundles.py::test_rb_no_verbose_and_mam PASSED [ 69%]
dipy/segment/tests/test_bundles.py::test_rb_clustermap PASSED [ 69%]
dipy/segment/tests/test_bundles.py::test_rb_no_neighb PASSED [ 69%]
dipy/segment/tests/test_bundles.py::test_rb_reduction_mam PASSED [ 69%]
dipy/segment/tests/test_clustering.py::test_cluster_attributes_and_constructor PASSED [ 69%]
dipy/segment/tests/test_clustering.py::test_cluster_assign PASSED [ 69%]
dipy/segment/tests/test_clustering.py::test_cluster_iter PASSED [ 69%]
dipy/segment/tests/test_clustering.py::test_cluster_getitem PASSED [ 69%]
dipy/segment/tests/test_clustering.py::test_cluster_str_and_repr PASSED [ 70%]
dipy/segment/tests/test_clustering.py::test_cluster_centroid_attributes_and_constructor PASSED [ 70%]
dipy/segment/tests/test_clustering.py::test_cluster_centroid_assign PASSED [ 70%]
dipy/segment/tests/test_clustering.py::test_cluster_centroid_iter PASSED [ 70%]
dipy/segment/tests/test_clustering.py::test_cluster_centroid_getitem PASSED [ 70%]
dipy/segment/tests/test_clustering.py::test_cluster_map_attributes_and_constructor PASSED [ 70%]
dipy/segment/tests/test_clustering.py::test_cluster_map_add_cluster PASSED [ 70%]
dipy/segment/tests/test_clustering.py::test_cluster_map_remove_cluster PASSED [ 70%]
dipy/segment/tests/test_clustering.py::test_cluster_map_clear PASSED [ 70%]
dipy/segment/tests/test_clustering.py::test_cluster_map_iter PASSED [ 70%]
dipy/segment/tests/test_clustering.py::test_cluster_map_getitem PASSED [ 71%]
dipy/segment/tests/test_clustering.py::test_cluster_map_str_and_repr PASSED [ 71%]
dipy/segment/tests/test_clustering.py::test_cluster_map_size PASSED [ 71%]
dipy/segment/tests/test_clustering.py::test_cluster_map_clusters_sizes PASSED [ 71%]
dipy/segment/tests/test_clustering.py::test_cluster_map_get_small_and_large_clusters PASSED [ 71%]
dipy/segment/tests/test_clustering.py::test_cluster_map_comparison_with_int PASSED [ 71%]
dipy/segment/tests/test_clustering.py::test_cluster_map_comparison_with_object PASSED [ 71%]
dipy/segment/tests/test_clustering.py::test_cluster_map_centroid_attributes_and_constructor PASSED [ 71%]
dipy/segment/tests/test_clustering.py::test_cluster_map_centroid_add_cluster PASSED [ 71%]
dipy/segment/tests/test_clustering.py::test_cluster_map_centroid_remove_cluster PASSED [ 71%]
dipy/segment/tests/test_clustering.py::test_cluster_map_centroid_iter PASSED [ 72%]
dipy/segment/tests/test_clustering.py::test_cluster_map_centroid_getitem PASSED [ 72%]
dipy/segment/tests/test_clustering.py::test_cluster_map_centroid_comparison_with_int PASSED [ 72%]
dipy/segment/tests/test_clustering.py::test_subclassing_clustering PASSED [ 72%]
dipy/segment/tests/test_feature.py::test_identity_feature PASSED [ 72%]
dipy/segment/tests/test_feature.py::test_feature_resample PASSED [ 72%]
dipy/segment/tests/test_feature.py::test_feature_center_of_mass PASSED [ 72%]
dipy/segment/tests/test_feature.py::test_feature_midpoint PASSED [ 72%]
dipy/segment/tests/test_feature.py::test_feature_arclength PASSED [ 72%]
dipy/segment/tests/test_feature.py::test_feature_vector_of_endpoints PASSED [ 72%]
dipy/segment/tests/test_feature.py::test_feature_extract PASSED [ 73%]
dipy/segment/tests/test_feature.py::test_subclassing_feature PASSED [ 73%]
dipy/segment/tests/test_feature.py::test_using_python_feature_with_cython_metric PASSED [ 73%]
dipy/segment/tests/test_fss.py::test_fss_radius_search PASSED [ 73%]
dipy/segment/tests/test_fss.py::test_fss_varying_radius PASSED [ 73%]
dipy/segment/tests/test_fss.py::test_fss_single_point_slines PASSED [ 73%]
dipy/segment/tests/test_fss.py::test_fss_empty_results PASSED [ 73%]
dipy/segment/tests/test_fss.py::test_fss_invalid_max_radius PASSED [ 73%]
dipy/segment/tests/test_fss.py::test_fss_invalid_radius PASSED [ 73%]
dipy/segment/tests/test_fss.py::test_fss_invalid_mpts PASSED [ 73%]
dipy/segment/tests/test_mask.py::test_mask PASSED [ 74%]
dipy/segment/tests/test_mask.py::test_bounding_box PASSED [ 74%]
dipy/segment/tests/test_mask.py::test_median_otsu PASSED [ 74%]
dipy/segment/tests/test_metric.py::test_metric_minimum_average_direct_flip PASSED [ 74%]
dipy/segment/tests/test_metric.py::test_metric_cosine PASSED [ 74%]
dipy/segment/tests/test_metric.py::test_subclassing_metric PASSED [ 74%]
dipy/segment/tests/test_metric.py::test_distance_matrix PASSED [ 74%]
dipy/segment/tests/test_metric.py::test_mean_distances PASSED [ 74%]
dipy/segment/tests/test_mrf.py::test_grayscale_image PASSED [ 74%]
dipy/segment/tests/test_mrf.py::test_grayscale_iter PASSED [ 74%]
dipy/segment/tests/test_mrf.py::test_square_iter PASSED [ 75%]
dipy/segment/tests/test_mrf.py::test_icm_square PASSED [ 75%]
dipy/segment/tests/test_mrf.py::test_classify PASSED [ 75%]
dipy/segment/tests/test_qbx.py::test_3D_points PASSED [ 75%]
dipy/segment/tests/test_qbx.py::test_3D_segments PASSED [ 75%]
dipy/segment/tests/test_qbx.py::test_with_simulated_bundles PASSED [ 75%]
dipy/segment/tests/test_qbx.py::test_with_simulated_bundles2 PASSED [ 75%]
dipy/segment/tests/test_qbx.py::test_circle_parallel_fornix PASSED [ 75%]
dipy/segment/tests/test_qbx.py::test_raise_mdf PASSED [ 75%]
dipy/segment/tests/test_qbx.py::test_qbx_and_merge PASSED [ 75%]
dipy/segment/tests/test_quickbundles.py::test_quickbundles_empty_data PASSED [ 76%]
dipy/segment/tests/test_quickbundles.py::test_quickbundles_wrong_metric PASSED [ 76%]
dipy/segment/tests/test_quickbundles.py::test_quickbundles_shape_incompatibility PASSED [ 76%]
dipy/segment/tests/test_quickbundles.py::test_quickbundles_2D PASSED [ 76%]
dipy/segment/tests/test_quickbundles.py::test_quickbundles_streamlines PASSED [ 76%]
dipy/segment/tests/test_quickbundles.py::test_quickbundles_with_python_metric PASSED [ 76%]
dipy/segment/tests/test_quickbundles.py::test_quickbundles_with_not_order_invariant_metric PASSED [ 76%]
dipy/segment/tests/test_quickbundles.py::test_quickbundles_memory_leaks PASSED [ 76%]
dipy/sims/tests/test_phantom.py::test_phantom PASSED [ 76%]
dipy/sims/tests/test_phantom.py::test_add_noise PASSED [ 76%]
dipy/sims/tests/test_voxel.py::test_check_directions PASSED [ 77%]
dipy/sims/tests/test_voxel.py::test_sticks_and_ball PASSED [ 77%]
dipy/sims/tests/test_voxel.py::test_single_tensor PASSED [ 77%]
dipy/sims/tests/test_voxel.py::test_multi_tensor PASSED [ 77%]
dipy/sims/tests/test_voxel.py::test_snr PASSED [ 77%]
dipy/sims/tests/test_voxel.py::test_all_tensor_evecs PASSED [ 77%]
dipy/sims/tests/test_voxel.py::test_kurtosis_elements PASSED [ 77%]
dipy/sims/tests/test_voxel.py::test_DKI_simulations_aligned_fibers PASSED [ 77%]
dipy/sims/tests/test_voxel.py::test_DKI_crossing_fibers_simulations PASSED [ 77%]
dipy/sims/tests/test_voxel.py::test_single_tensor_btens PASSED [ 78%]
dipy/sims/tests/test_voxel.py::test_multi_tensor_btens PASSED [ 78%]
dipy/stats/tests/test_analysis.py::test_gaussian_weights PASSED [ 78%]
dipy/stats/tests/test_analysis.py::test_afq_profile PASSED [ 78%]
dipy/stats/tests/test_resampling.py::test_bootstrap PASSED [ 78%]
dipy/stats/tests/test_resampling.py::test_jackknife PASSED [ 78%]
dipy/testing/tests/test_decorators.py::test_skipper PASSED [ 78%]
dipy/testing/tests/test_memory.py::test_get_type_refcount PASSED [ 78%]
dipy/testing/tests/test_testing.py::test_assert PASSED [ 78%]
dipy/testing/tests/test_testing.py::test_clear_and_catch_warnings PASSED [ 78%]
dipy/tracking/tests/test_distances.py::test_LSCv2 PASSED [ 79%]
dipy/tracking/tests/test_distances.py::test_bundles_distances_mam PASSED [ 79%]
dipy/tracking/tests/test_distances.py::test_bundles_distances_mdf PASSED [ 79%]
dipy/tracking/tests/test_distances.py::test_mam_distances PASSED [ 79%]
dipy/tracking/tests/test_distances.py::test_approx_ei_traj PASSED [ 79%]
dipy/tracking/tests/test_distances.py::test_approx_mdl_traj PASSED [ 79%]
dipy/tracking/tests/test_distances.py::test_point_track_sq_distance PASSED [ 79%]
dipy/tracking/tests/test_distances.py::test_track_roi_intersection_check PASSED [ 79%]
dipy/tracking/tests/test_distances.py::test_minimum_distance PASSED [ 79%]
dipy/tracking/tests/test_distances.py::test_most_similar_mam PASSED [ 79%]
dipy/tracking/tests/test_distances.py::test_cut_plane PASSED [ 80%]
dipy/tracking/tests/test_learning.py::test_det_corr_tracks PASSED [ 80%]
dipy/tracking/tests/test_life.py::test_streamline_gradients PASSED [ 80%]
dipy/tracking/tests/test_life.py::test_streamline_tensors PASSED [ 80%]
dipy/tracking/tests/test_life.py::test_streamline_signal PASSED [ 80%]
dipy/tracking/tests/test_life.py::test_voxel2streamline PASSED [ 80%]
dipy/tracking/tests/test_life.py::test_FiberModel_init PASSED [ 80%]
dipy/tracking/tests/test_life.py::test_FiberFit PASSED [ 80%]
dipy/tracking/tests/test_life.py::test_fit_data PASSED [ 80%]
dipy/tracking/tests/test_mesh.py::test_triangles_area PASSED [ 80%]
dipy/tracking/tests/test_mesh.py::test_surface_seeds PASSED [ 81%]
dipy/tracking/tests/test_mesh.py::test_vertices_to_triangles PASSED [ 81%]
dipy/tracking/tests/test_metrics.py::test_downsample_deprecated PASSED [ 81%]
dipy/tracking/tests/test_metrics.py::test_splines PASSED [ 81%]
dipy/tracking/tests/test_metrics.py::test_segment_intersection PASSED [ 81%]
dipy/tracking/tests/test_metrics.py::test_normalized_3vec PASSED [ 81%]
dipy/tracking/tests/test_metrics.py::test_inner_3vecs PASSED [ 81%]
dipy/tracking/tests/test_metrics.py::test_add_sub_3vecs PASSED [ 81%]
dipy/tracking/tests/test_metrics.py::test_winding PASSED [ 81%]
dipy/tracking/tests/test_propagation.py::test_offset PASSED [ 81%]
dipy/tracking/tests/test_propagation.py::test_eudx_both_directions_errors PASSED [ 82%]
dipy/tracking/tests/test_stopping_criterion.py::test_binary_stopping_criterion PASSED [ 82%]
dipy/tracking/tests/test_stopping_criterion.py::test_threshold_stopping_criterion PASSED [ 82%]
dipy/tracking/tests/test_stopping_criterion.py::test_act_stopping_criterion PASSED [ 82%]
dipy/tracking/tests/test_stopping_criterion.py::test_cmc_stopping_criterion PASSED [ 82%]
dipy/tracking/tests/test_streamline.py::test_set_number_of_points PASSED [ 82%]
dipy/tracking/tests/test_streamline.py::test_set_number_of_points_memory_leaks PASSED [ 82%]
dipy/tracking/tests/test_streamline.py::test_length PASSED [ 82%]
dipy/tracking/tests/test_streamline.py::test_length_memory_leaks PASSED [ 82%]
dipy/tracking/tests/test_streamline.py::test_unlist_relist_streamlines PASSED [ 82%]
dipy/tracking/tests/test_streamline.py::test_transform_streamlines_dtype_in_place PASSED [ 83%]
dipy/tracking/tests/test_streamline.py::test_transform_streamlines_dtype PASSED [ 83%]
dipy/tracking/tests/test_streamline.py::test_transform_empty_streamlines PASSED [ 83%]
dipy/tracking/tests/test_streamline.py::test_deform_streamlines PASSED [ 83%]
dipy/tracking/tests/test_streamline.py::test_center_and_transform PASSED [ 83%]
dipy/tracking/tests/test_streamline.py::test_select_random_streamlines PASSED [ 83%]
dipy/tracking/tests/test_streamline.py::test_compress_streamlines PASSED [ 83%]
dipy/tracking/tests/test_streamline.py::test_compress_streamlines_identical_points PASSED [ 83%]
dipy/tracking/tests/test_streamline.py::test_compress_streamlines_memory_leaks PASSED [ 83%]
dipy/tracking/tests/test_streamline.py::test_select_by_rois PASSED [ 83%]
dipy/tracking/tests/test_streamline.py::test_orient_by_rois PASSED [ 84%]
dipy/tracking/tests/test_streamline.py::test_orient_by_streamline PASSED [ 84%]
dipy/tracking/tests/test_streamline.py::test_values_from_volume PASSED [ 84%]
dipy/tracking/tests/test_streamline.py::test_streamlines_generator PASSED [ 84%]
dipy/tracking/tests/test_streamline.py::test_cluster_confidence PASSED [ 84%]
dipy/tracking/tests/test_track_volumes.py::test_track_volumes PASSED [ 84%]
dipy/tracking/tests/test_tracking.py::test_stop_conditions PASSED [ 84%]
dipy/tracking/tests/test_tracking.py::test_save_seeds PASSED [ 84%]
dipy/tracking/tests/test_tracking.py::test_tracking_max_angle PASSED [ 84%]
dipy/tracking/tests/test_tracking.py::test_probabilistic_odf_weighted_tracker PASSED [ 84%]
dipy/tracking/tests/test_tracking.py::test_particle_filtering_tractography PASSED [ 85%]
dipy/tracking/tests/test_tracking.py::test_maximum_deterministic_tracker PASSED [ 85%]
dipy/tracking/tests/test_tracking.py::test_bootstap_peak_tracker PASSED [ 85%]
dipy/tracking/tests/test_tracking.py::test_closest_peak_tracker PASSED [ 85%]
dipy/tracking/tests/test_tracking.py::test_eudx_tracker PASSED [ 85%]
dipy/tracking/tests/test_tracking.py::test_affine_transformations PASSED [ 85%]
dipy/tracking/tests/test_tracking.py::test_random_seed_initialization PASSED [ 85%]
dipy/tracking/tests/test_tracking.py::test_tracking_with_initial_directions PASSED [ 85%]
dipy/tracking/tests/test_utils.py::test_density_map PASSED [ 85%]
dipy/tracking/tests/test_utils.py::test_to_voxel_coordinates_precision PASSED [ 85%]
dipy/tracking/tests/test_utils.py::test_connectivity_matrix PASSED [ 86%]
dipy/tracking/tests/test_utils.py::test_ndbincount PASSED [ 86%]
dipy/tracking/tests/test_utils.py::test_reduce_labels PASSED [ 86%]
dipy/tracking/tests/test_utils.py::test_target PASSED [ 86%]
dipy/tracking/tests/test_utils.py::test_target_lb PASSED [ 86%]
dipy/tracking/tests/test_utils.py::test_target_line_based_out_of_bounds PASSED [ 86%]
dipy/tracking/tests/test_utils.py::test_near_roi PASSED [ 86%]
dipy/tracking/tests/test_utils.py::test_streamline_mapping PASSED [ 86%]
dipy/tracking/tests/test_utils.py::test_length PASSED [ 86%]
dipy/tracking/tests/test_utils.py::test_seeds_from_mask PASSED [ 86%]
dipy/tracking/tests/test_utils.py::test_random_seeds_from_mask PASSED [ 87%]
dipy/tracking/tests/test_utils.py::test_connectivity_matrix_shape PASSED [ 87%]
dipy/tracking/tests/test_utils.py::test_unique_rows PASSED [ 87%]
dipy/tracking/tests/test_utils.py::test_reduce_rois PASSED [ 87%]
dipy/tracking/tests/test_utils.py::test_path_length PASSED [ 87%]
dipy/tracking/tests/test_utils.py::test_min_at PASSED [ 87%]
dipy/tracking/tests/test_utils.py::test_curvature_angle PASSED [ 87%]
dipy/utils/tests/test_arrfuncs.py::test_as_native PASSED [ 87%]
dipy/utils/tests/test_arrfuncs.py::test_pinv PASSED [ 87%]
dipy/utils/tests/test_deprecator.py::test_cmp_pkg_version PASSED [ 87%]
dipy/utils/tests/test_deprecator.py::test__ensure_cr PASSED [ 88%]
dipy/utils/tests/test_deprecator.py::test__add_dep_doc PASSED [ 88%]
dipy/utils/tests/test_deprecator.py::test_deprecate_with_version FAILED [ 88%]
dipy/utils/tests/test_deprecator.py::test_deprecated_argument PASSED [ 88%]
dipy/utils/tests/test_deprecator.py::test_deprecated_argument_in_kwargs PASSED [ 88%]
dipy/utils/tests/test_deprecator.py::test_deprecated_argument_multi_deprecation PASSED [ 88%]
dipy/utils/tests/test_deprecator.py::test_deprecated_argument_not_allowed_use PASSED [ 88%]
dipy/utils/tests/test_deprecator.py::test_deprecated_argument_remove PASSED [ 88%]
dipy/utils/tests/test_fast_numpy.cpython-313-aarch64-linux-gnu.so::test_dot PASSED [ 88%]
dipy/utils/tests/test_fast_numpy.cpython-313-aarch64-linux-gnu.so::test_norm PASSED [ 89%]
dipy/utils/tests/test_fast_numpy.cpython-313-aarch64-linux-gnu.so::test_normalize PASSED [ 89%]
dipy/utils/tests/test_fast_numpy.cpython-313-aarch64-linux-gnu.so::test_random PASSED [ 89%]
dipy/utils/tests/test_fast_numpy.cpython-313-aarch64-linux-gnu.so::test_random_perpendicular_vector PASSED [ 89%]
dipy/utils/tests/test_fast_numpy.cpython-313-aarch64-linux-gnu.so::test_random_point_within_circle PASSED [ 89%]
dipy/utils/tests/test_fast_numpy.cpython-313-aarch64-linux-gnu.so::test_random_vector PASSED [ 89%]
dipy/utils/tests/test_multiproc.py::test_determine_num_processes PASSED [ 89%]
dipy/utils/tests/test_omp.py::test_set_omp_threads PASSED [ 89%]
dipy/utils/tests/test_omp.py::test_default_threads SKIPPED (joblib a...) [ 89%]
dipy/utils/tests/test_omp.py::test_determine_num_threads PASSED [ 89%]
dipy/utils/tests/test_optpkg.py::test_optional_package PASSED [ 90%]
dipy/utils/tests/test_parallel.py::test_paramap PASSED [ 90%]
dipy/utils/tests/test_tripwire.py::test_is_tripwire PASSED [ 90%]
dipy/utils/tests/test_tripwire.py::test_tripwire PASSED [ 90%]
dipy/utils/tests/test_volume.py::test_adjacency_calc PASSED [ 90%]
dipy/viz/horizon/tab/tests/test_base.py::test_build_label SKIPPED (N...) [ 90%]
dipy/viz/horizon/tab/tests/test_base.py::test_build_slider SKIPPED (...) [ 90%]
dipy/viz/horizon/tab/tests/test_base.py::test_build_checkbox SKIPPED [ 90%]
dipy/viz/horizon/tab/tests/test_base.py::test_build_switcher SKIPPED [ 90%]
dipy/viz/tests/test_apps.py::test_horizon_events SKIPPED (Needs xvfb) [ 90%]
dipy/viz/tests/test_apps.py::test_horizon SKIPPED (Needs xvfb) [ 91%]
dipy/viz/tests/test_apps.py::test_horizon_wrong_dtype_images SKIPPED [ 91%]
dipy/viz/tests/test_apps.py::test_roi_images SKIPPED (Needs xvfb) [ 91%]
dipy/viz/tests/test_apps.py::test_surfaces SKIPPED (Needs xvfb) [ 91%]
dipy/viz/tests/test_apps.py::test_small_horizon_import PASSED [ 91%]
dipy/viz/tests/test_fury.py::test_slicer SKIPPED (Needs xvfb) [ 91%]
dipy/viz/tests/test_fury.py::test_contour_from_roi SKIPPED (Needs xvfb) [ 91%]
dipy/viz/tests/test_fury.py::test_bundle_maps SKIPPED (Needs xvfb) [ 91%]
dipy/viz/tests/test_fury.py::test_odf_slicer SKIPPED (Needs xvfb) [ 91%]
dipy/viz/tests/test_fury.py::test_tensor_slicer SKIPPED (Needs xvfb) [ 91%]
dipy/viz/tests/test_regtools.py::test_plot_2d_diffeomorphic_map SKIPPED [ 92%]
dipy/viz/tests/test_streamline.py::test_output_created SKIPPED (Requ...) [ 92%]
dipy/viz/tests/test_streamline.py::test_incorrect_view SKIPPED (Requ...) [ 92%]
dipy/viz/tests/test_streamline.py::test_bundlewarp_viz SKIPPED (Requ...) [ 92%]
dipy/viz/tests/test_util.py::test_check_img_shapes PASSED [ 92%]
dipy/viz/tests/test_util.py::test_check_img_dtype PASSED [ 92%]
dipy/viz/tests/test_util.py::test_show_ellipsis PASSED [ 92%]
dipy/viz/tests/test_util.py::test_is_binary_image PASSED [ 92%]
dipy/viz/tests/test_util.py::test_unpack_surface PASSED [ 92%]
dipy/viz/tests/test_util.py::test_check_peak_size PASSED [ 92%]
dipy/workflows/tests/test_align.py::test_reslice FAILED [ 93%]
dipy/workflows/tests/test_align.py::test_slr_flow FAILED [ 93%]
dipy/workflows/tests/test_align.py::test_image_registration FAILED [ 93%]
dipy/workflows/tests/test_align.py::test_apply_transform_error PASSED [ 93%]
dipy/workflows/tests/test_align.py::test_apply_affine_transform FAILED [ 93%]
dipy/workflows/tests/test_align.py::test_motion_correction FAILED [ 93%]
dipy/workflows/tests/test_align.py::test_syn_registration_flow FAILED [ 93%]
dipy/workflows/tests/test_align.py::test_bundlewarp_flow PASSED [ 93%]
dipy/workflows/tests/test_denoise.py::test_nlmeans_flow FAILED [ 93%]
dipy/workflows/tests/test_denoise.py::test_patch2self_flow FAILED [ 93%]
dipy/workflows/tests/test_denoise.py::test_lpca_flow FAILED [ 94%]
dipy/workflows/tests/test_denoise.py::test_mppca_flow FAILED [ 94%]
dipy/workflows/tests/test_denoise.py::test_gibbs_flow FAILED [ 94%]
dipy/workflows/tests/test_docstring_parser.py::test_signature PASSED [ 94%]
dipy/workflows/tests/test_docstring_parser.py::test_summary PASSED [ 94%]
dipy/workflows/tests/test_docstring_parser.py::test_extended_summary PASSED [ 94%]
dipy/workflows/tests/test_docstring_parser.py::test_parameters PASSED [ 94%]
dipy/workflows/tests/test_docstring_parser.py::test_other_parameters PASSED [ 94%]
dipy/workflows/tests/test_docstring_parser.py::test_returns PASSED [ 94%]
dipy/workflows/tests/test_docstring_parser.py::test_notes PASSED [ 94%]
dipy/workflows/tests/test_docstring_parser.py::test_references PASSED [ 95%]
dipy/workflows/tests/test_docstring_parser.py::test_examples PASSED [ 95%]
dipy/workflows/tests/test_docstring_parser.py::test_index PASSED [ 95%]
dipy/workflows/tests/test_docstring_parser.py::test_str PASSED [ 95%]
dipy/workflows/tests/test_docstring_parser.py::test_parameters_without_extended_description PASSED [ 95%]
dipy/workflows/tests/test_docstring_parser.py::test_raises PASSED [ 95%]
dipy/workflows/tests/test_docstring_parser.py::test_warns PASSED [ 95%]
dipy/workflows/tests/test_docstring_parser.py::test_see_also PASSED [ 95%]
dipy/workflows/tests/test_docstring_parser.py::test_empty_first_line PASSED [ 95%]
dipy/workflows/tests/test_docstring_parser.py::test_duplicate_signature PASSED [ 95%]
dipy/workflows/tests/test_iap.py::test_none_or_dtype PASSED [ 96%]
dipy/workflows/tests/test_iap.py::test_variable_type FAILED [ 96%]
dipy/workflows/tests/test_iap.py::test_iap PASSED [ 96%]
dipy/workflows/tests/test_iap.py::test_optional_str PASSED [ 96%]
dipy/workflows/tests/test_iap.py::test_iap_epilog_and_description PASSED [ 96%]
dipy/workflows/tests/test_iap.py::test_flow_runner PASSED [ 96%]
dipy/workflows/tests/test_io.py::test_io_fetch SKIPPED (test needs i...) [ 96%]
dipy/workflows/tests/test_io.py::test_io_fetch_fetcher_datanames PASSED [ 96%]
dipy/workflows/tests/test_io.py::test_split_flow FAILED [ 96%]
dipy/workflows/tests/test_io.py::test_convert_sh_flow FAILED [ 96%]
dipy/workflows/tests/test_io.py::test_convert_tensors_flow FAILED [ 97%]
dipy/workflows/tests/test_masking.py::test_mask FAILED [ 97%]
dipy/workflows/tests/test_nn.py::test_evac_plus_flow SKIPPED (Requir...) [ 97%]
dipy/workflows/tests/test_reconst_csa_csd.py::test_reconst_csa FAILED [ 97%]
dipy/workflows/tests/test_reconst_csa_csd.py::test_reconst_csd FAILED [ 97%]
dipy/workflows/tests/test_reconst_dki.py::test_reconst_dki FAILED [ 97%]
dipy/workflows/tests/test_reconst_dsi.py::test_reconst_dsi FAILED [ 97%]
dipy/workflows/tests/test_reconst_dti.py::test_reconst_dti_wls FAILED [ 97%]
dipy/workflows/tests/test_reconst_dti.py::test_reconst_dti_nlls FAILED [ 97%]
dipy/workflows/tests/test_reconst_dti.py::test_reconst_dti_alt_tensor FAILED [ 97%]
dipy/workflows/tests/test_reconst_ivim.py::test_reconst_ivim FAILED [ 98%]
dipy/workflows/tests/test_reconst_mapmri.py::test_reconst_mmri_laplacian FAILED [ 98%]
dipy/workflows/tests/test_reconst_mapmri.py::test_reconst_mmri_none FAILED [ 98%]
dipy/workflows/tests/test_reconst_mapmri.py::test_reconst_mmri_both SKIPPED [ 98%]
dipy/workflows/tests/test_reconst_mapmri.py::test_reconst_mmri_positivity SKIPPED [ 98%]
dipy/workflows/tests/test_reconst_rumba.py::test_reconst_rumba FAILED [ 98%]
dipy/workflows/tests/test_segment.py::test_median_otsu_flow FAILED [ 98%]
dipy/workflows/tests/test_segment.py::test_recobundles_flow FAILED [ 98%]
dipy/workflows/tests/test_stats.py::test_stats FAILED [ 98%]
dipy/workflows/tests/test_stats.py::test_buan_bundle_profiles SKIPPED [ 98%]
dipy/workflows/tests/test_stats.py::test_bundle_analysis_tractometry_flow SKIPPED [ 99%]
dipy/workflows/tests/test_stats.py::test_linear_mixed_models_flow SKIPPED [ 99%]
dipy/workflows/tests/test_stats.py::test_bundle_shape_analysis_flow SKIPPED [ 99%]
dipy/workflows/tests/test_tracking.py::test_particle_filtering_tracking_workflows FAILED [ 99%]
dipy/workflows/tests/test_tracking.py::test_local_fiber_tracking_workflow FAILED [ 99%]
dipy/workflows/tests/test_viz.py::test_horizon_flow SKIPPED (Require...) [ 99%]
dipy/workflows/tests/test_workflow.py::test_force_overwrite FAILED [ 99%]
dipy/workflows/tests/test_workflow.py::test_get_sub_runs PASSED [ 99%]
dipy/workflows/tests/test_workflow.py::test_run PASSED [ 99%]
dipy/workflows/tests/test_workflow.py::test_missing_file FAILED [100%]
=================================== FAILURES ===================================
_________________________ test_deprecate_with_version __________________________
def test_deprecate_with_version():
def func_no_doc():
pass
def func_doc(i):
"""Fake docstring."""
def func_doc_long(i, j):
"""Fake docstring.\n\n Some text."""
class CustomError(Exception):
"""Custom error class for testing expired deprecation errors."""
my_mod = sys.modules[__name__]
dec = deprecate_with_version
func = dec('foo')(func_no_doc)
with clear_and_catch_warnings(modules=[my_mod]) as w:
warnings.simplefilter('always')
npt.assert_equal(func(), None)
npt.assert_equal(len(w), 1)
assert_true(w[0].category is DeprecationWarning)
npt.assert_equal(func.__doc__, 'foo\n')
func = dec('foo')(func_doc)
with clear_and_catch_warnings(modules=[my_mod]) as w:
warnings.simplefilter('always')
npt.assert_equal(func(1), None)
npt.assert_equal(len(w), 1)
npt.assert_equal(func.__doc__, 'Fake docstring.\n\nfoo\n')
func = dec('foo')(func_doc_long)
with clear_and_catch_warnings(modules=[my_mod]) as w:
warnings.simplefilter('always')
npt.assert_equal(func(1, 2), None)
npt.assert_equal(len(w), 1)
> npt.assert_equal(func.__doc__,
'Fake docstring.\n \n foo\n \n Some text.\n')
E AssertionError:
E Items are not equal:
E ACTUAL: 'Fake docstring.\n\nfoo\n\nSome text.\n'
E DESIRED: 'Fake docstring.\n \n foo\n \n Some text.\n'
dipy/utils/tests/test_deprecator.py:116: AssertionError
_________________________________ test_reslice _________________________________
def test_reslice():
with TemporaryDirectory() as out_dir:
data_path, _, _ = get_fnames('small_25')
volume = load_nifti_data(data_path)
reslice_flow = ResliceFlow()
> reslice_flow.run(data_path, [1.5, 1.5, 1.5], out_dir=out_dir)
dipy/workflows/tests/test_align.py:34:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/align.py:92: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0xffff8b89f1c0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/align.py', line 92, code run>
fnc = <bound method ResliceFlow.run of <dipy.workflows.align.ResliceFlow object at 0xffff9775c590>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
________________________________ test_slr_flow _________________________________
def test_slr_flow():
with TemporaryDirectory() as out_dir:
data_path = get_fnames('fornix')
fornix = load_tractogram(data_path, 'same',
bbox_valid_check=False).streamlines
f = Streamlines(fornix)
f1 = f.copy()
f1_path = pjoin(out_dir, "f1.trk")
sft = StatefulTractogram(f1, data_path, Space.RASMM)
save_tractogram(sft, f1_path, bbox_valid_check=False)
f2 = f1.copy()
f2._data += np.array([50, 0, 0])
f2_path = pjoin(out_dir, "f2.trk")
sft = StatefulTractogram(f2, data_path, Space.RASMM)
save_tractogram(sft, f2_path, bbox_valid_check=False)
slr_flow = SlrWithQbxFlow(force=True)
> slr_flow.run(f1_path, f2_path)
dipy/workflows/tests/test_align.py:67:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/align.py:189: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x1e63dff0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/align.py', line 189, code run>
fnc = <bound method SlrWithQbxFlow.run of <dipy.workflows.align.SlrWithQbxFlow object at 0xffff8843d160>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
___________________________ test_image_registration ____________________________
pytestconfig = <_pytest.config.Config object at 0xffff99662510>, args = ()
kwargs = {'rng': Generator(PCG64) at 0xFFFF8B7FAC00}
rng = Generator(PCG64) at 0xFFFF8B7FAC00, signature = <Signature (rng)>
def _set_random_number_generator_wrapper(pytestconfig, *args, **kwargs):
rng = np.random.default_rng(seed_v)
kwargs['rng'] = rng
signature = inspect.signature(func)
if pytestconfig and 'pytestconfig' in signature.parameters.keys():
output = func(pytestconfig, *args, **kwargs)
else:
> output = func(*args, **kwargs)
dipy/testing/decorators.py:95:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/tests/test_align.py:229: in test_image_registration
test_com()
dipy/workflows/tests/test_align.py:102: in test_com
image_registration_flow.run(static_image_file,
dipy/workflows/align.py:329: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x1e8f6f80, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/align.py', line 329, code run>
fnc = <bound method ImageRegistrationFlow.run of <dipy.workflows.align.ImageRegistrationFlow object at 0xffff8843c2f0>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
_________________________ test_apply_affine_transform __________________________
def test_apply_affine_transform():
with TemporaryDirectory() as temp_out_dir:
factors = {
('TRANSLATION', 3): (2.0, None, np.array([2.3, 4.5, 1.7])),
('RIGID', 3): (0.1, None, np.array([0.1, 0.15, -0.11, 2.3, 4.5,
1.7])),
('RIGIDISOSCALING', 3): (0.1, None, np.array([0.1, 0.15, -0.11,
2.3, 4.5, 1.7,
0.8])),
('RIGIDSCALING', 3): (0.1, None, np.array([0.1, 0.15, -0.11, 2.3,
4.5, 1.7, 0.8, 0.9,
1.1])),
('AFFINE', 3): (0.1, None, np.array([0.99, -0.05, 0.03, 1.3,
0.05, 0.99, -0.10, 2.5,
-0.07, 0.10, 0.99, -1.4]))}
image_registration_flow = ImageRegistrationFlow()
apply_trans = ApplyTransformFlow()
for i in factors.keys():
static, moving, static_g2w, moving_g2w, smask, mmask, M = \
setup_random_transform(transform=regtransforms[i],
rfactor=factors[i][0])
stat_file = str(i[0]) + '_static.nii.gz'
mov_file = str(i[0]) + '_moving.nii.gz'
save_nifti(pjoin(temp_out_dir, stat_file), data=static,
affine=static_g2w)
save_nifti(pjoin(temp_out_dir, mov_file), data=moving,
affine=moving_g2w)
static_image_file = pjoin(temp_out_dir,
str(i[0]) + '_static.nii.gz')
moving_image_file = pjoin(temp_out_dir,
str(i[0]) + '_moving.nii.gz')
out_moved = pjoin(temp_out_dir,
str(i[0]) + "_moved.nii.gz")
out_affine = pjoin(temp_out_dir,
str(i[0]) + "_affine.txt")
if str(i[0]) == "TRANSLATION":
transform_type = "trans"
elif str(i[0]) == "RIGIDISOSCALING":
transform_type = "rigid_isoscaling"
elif str(i[0]) == "RIGIDSCALING":
transform_type = "rigid_scaling"
else:
transform_type = str(i[0]).lower()
> image_registration_flow.run(static_image_file, moving_image_file,
transform=transform_type,
out_dir=temp_out_dir,
out_moved=out_moved,
out_affine=out_affine,
level_iters=[1, 1, 1],
save_metric=False)
dipy/workflows/tests/test_align.py:298:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/align.py:329: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x1f9de2f0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/align.py', line 329, code run>
fnc = <bound method ImageRegistrationFlow.run of <dipy.workflows.align.ImageRegistrationFlow object at 0xffff8b82f390>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
____________________________ test_motion_correction ____________________________
def test_motion_correction():
data_path, fbvals_path, fbvecs_path = get_fnames('small_64D')
volume = load_nifti_data(data_path)
with TemporaryDirectory() as out_dir:
# Use an abbreviated data-set:
img = nib.load(data_path)
data = img.get_fdata()[..., :10]
nib.save(nib.Nifti1Image(data, img.affine),
os.path.join(out_dir, 'data.nii.gz'))
# Save a subset:
bvals = np.loadtxt(fbvals_path)
bvecs = np.loadtxt(fbvecs_path)
np.savetxt(os.path.join(out_dir, 'bvals.txt'), bvals[:10])
np.savetxt(os.path.join(out_dir, 'bvecs.txt'), bvecs[:10])
motion_correction_flow = MotionCorrectionFlow()
motion_correction_flow._force_overwrite = True
> motion_correction_flow.run(os.path.join(out_dir, 'data.nii.gz'),
os.path.join(out_dir, 'bvals.txt'),
os.path.join(out_dir, 'bvecs.txt'),
out_dir=out_dir)
dipy/workflows/tests/test_align.py:338:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/align.py:758: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0xffff8b82a0c0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/align.py', line 758, code run>
fnc = <bound method MotionCorrectionFlow.run of <dipy.workflows.align.MotionCorrectionFlow object at 0xffff8843d400>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
__________________________ test_syn_registration_flow __________________________
def test_syn_registration_flow():
moving_data, static_data = get_synthetic_warped_circle(40)
moving_data[..., :10] = 0
moving_data[..., -1:-11:-1] = 0
static_data[..., :10] = 0
static_data[..., -1:-11:-1] = 0
syn_flow = SynRegistrationFlow()
with TemporaryDirectory() as out_dir:
static_img = nib.Nifti1Image(static_data.astype(float), np.eye(4))
fname_static = pjoin(out_dir, 'tmp_static.nii.gz')
nib.save(static_img, fname_static)
moving_img = nib.Nifti1Image(moving_data.astype(float), np.eye(4))
fname_moving = pjoin(out_dir, 'tmp_moving.nii.gz')
nib.save(moving_img, fname_moving)
positional_args = [fname_static, fname_moving]
# Test the cc metric
metric_optional_args = {'metric': 'cc',
'mopt_sigma_diff': 2.0,
'mopt_radius': 4
}
optimizer_optional_args = {'level_iters': [10, 10, 5],
'step_length': 0.25,
'opt_tol': 1e-5,
'inv_iter': 20,
'inv_tol': 1e-3,
'ss_sigma_factor': 0.2
}
all_args = dict(metric_optional_args, **optimizer_optional_args)
> syn_flow.run(*positional_args,
out_dir=out_dir,
**all_args
)
dipy/workflows/tests/test_align.py:384:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/align.py:617: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x1ed92110, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/align.py', line 617, code run>
fnc = <bound method SynRegistrationFlow.run of <dipy.workflows.align.SynRegistrationFlow object at 0xffff8843d940>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
______________________________ test_nlmeans_flow _______________________________
def test_nlmeans_flow():
with TemporaryDirectory() as out_dir:
data_path, _, _ = get_fnames()
volume, affine = load_nifti(data_path)
nlmeans_flow = NLMeansFlow()
> nlmeans_flow.run(data_path, out_dir=out_dir)
dipy/workflows/tests/test_denoise.py:30:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/denoise.py:142: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0xffff8b809220, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/denoise.py', line 142, code run>
fnc = <bound method NLMeansFlow.run of <dipy.workflows.denoise.NLMeansFlow object at 0xffff8843d550>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
_____________________________ test_patch2self_flow _____________________________
@needs_sklearn
def test_patch2self_flow():
with TemporaryDirectory() as out_dir:
data_path, fbvals, fbvecs = get_fnames()
patch2self_flow = Patch2SelfFlow()
> patch2self_flow.run(data_path, fbvals, patch_radius=0, out_dir=out_dir)
dipy/workflows/tests/test_denoise.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/denoise.py:78: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0xffff8bc1e500, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/denoise.py', line 78, code run>
fnc = <bound method Patch2SelfFlow.run of <dipy.workflows.denoise.Patch2SelfFlow object at 0xffff8843da90>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
________________________________ test_lpca_flow ________________________________
def test_lpca_flow():
with TemporaryDirectory() as out_dir:
data_path, fbvals, fbvecs = get_fnames()
lpca_flow = LPCAFlow()
> lpca_flow.run(data_path, fbvals, fbvecs, out_dir=out_dir)
dipy/workflows/tests/test_denoise.py:59:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/denoise.py:240: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0xffff8b8298a0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/denoise.py', line 240, code run>
fnc = <bound method LPCAFlow.run of <dipy.workflows.denoise.LPCAFlow object at 0xffff8843de80>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
_______________________________ test_mppca_flow ________________________________
pytestconfig = <_pytest.config.Config object at 0xffff99662510>, args = ()
kwargs = {'rng': Generator(PCG64) at 0xFFFF8A1BDC40}
rng = Generator(PCG64) at 0xFFFF8A1BDC40, signature = <Signature (rng)>
def _set_random_number_generator_wrapper(pytestconfig, *args, **kwargs):
rng = np.random.default_rng(seed_v)
kwargs['rng'] = rng
signature = inspect.signature(func)
if pytestconfig and 'pytestconfig' in signature.parameters.keys():
output = func(pytestconfig, *args, **kwargs)
else:
> output = func(*args, **kwargs)
dipy/testing/decorators.py:95:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/tests/test_denoise.py:72: in test_mppca_flow
mppca_flow.run(data_path, out_dir=out_dir)
dipy/workflows/denoise.py:312: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0xffff8b8094e0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/denoise.py', line 312, code run>
fnc = <bound method MPPCAFlow.run of <dipy.workflows.denoise.MPPCAFlow object at 0xffff8843dd30>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
_______________________________ test_gibbs_flow ________________________________
def test_gibbs_flow():
def generate_slice():
Nori = 32
image = np.zeros((6 * Nori, 6 * Nori))
image[Nori: 2 * Nori, Nori: 2 * Nori] = 1
image[Nori: 2 * Nori, 4 * Nori: 5 * Nori] = 1
image[2 * Nori: 3 * Nori, Nori: 3 * Nori] = 1
image[3 * Nori: 4 * Nori, 2 * Nori: 3 * Nori] = 2
image[3 * Nori: 4 * Nori, 4 * Nori: 5 * Nori] = 1
image[4 * Nori: 5 * Nori, 3 * Nori: 5 * Nori] = 3
# Corrupt image with gibbs ringing
c = np.fft.fft2(image)
c = np.fft.fftshift(c)
c_crop = c[48:144, 48:144]
image_gibbs = abs(np.fft.ifft2(c_crop)/4)
return image_gibbs
with TemporaryDirectory() as out_dir:
image4d = np.zeros((96, 96, 2, 2))
image4d[:, :, 0, 0] = generate_slice()
image4d[:, :, 1, 0] = generate_slice()
image4d[:, :, 0, 1] = generate_slice()
image4d[:, :, 1, 1] = generate_slice()
data_path = os.path.join(out_dir, "random_noise.nii.gz")
save_nifti(data_path, image4d, np.eye(4))
gibbs_flow = GibbsRingingFlow()
> gibbs_flow.run(data_path, out_dir=out_dir)
dipy/workflows/tests/test_denoise.py:121:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/denoise.py:372: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0xffff8843dfc0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/denoise.py', line 372, code run>
fnc = <bound method GibbsRingingFlow.run of <dipy.workflows.denoise.GibbsRingingFlow object at 0xffff8843e120>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
______________________________ test_variable_type ______________________________
def test_variable_type():
with TemporaryDirectory() as out_dir:
open(pjoin(out_dir, 'test'), 'w').close()
open(pjoin(out_dir, 'test1'), 'w').close()
open(pjoin(out_dir, 'test2'), 'w').close()
sys.argv = [sys.argv[0]]
pos_results = [pjoin(out_dir, 'test'), pjoin(out_dir, 'test1'),
pjoin(out_dir, 'test2'), 12]
inputs = inputs_from_results(pos_results)
sys.argv.extend(inputs)
dcwf = DummyVariableTypeWorkflow()
> _, positional_res, positional_res2 = run_flow(dcwf)
dipy/workflows/tests/test_iap.py:54:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/flow_runner.py:88: in run_flow
return flow.run(**args)
dipy/workflows/tests/workflow_tests_utils.py:159: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0xffff8a2245e0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/tests/workflow_tests_utils.py', line 159, code run>
fnc = <bound method DummyVariableTypeWorkflow.run of <dipy.workflows.tests.workflow_tests_utils.DummyVariableTypeWorkflow object at 0xffff8843e270>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
_______________________________ test_split_flow ________________________________
def test_split_flow():
with TemporaryDirectory() as out_dir:
split_flow = SplitFlow()
data_path, _, _ = get_fnames()
volume, affine = load_nifti(data_path)
> split_flow.run(data_path, out_dir=out_dir)
dipy/workflows/tests/test_io.py:105:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/io.py:302: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0xffff904b96d0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/io.py', line 302, code run>
fnc = <bound method SplitFlow.run of <dipy.workflows.io.SplitFlow object at 0xffff9065f380>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
_____________________________ test_convert_sh_flow _____________________________
def test_convert_sh_flow():
with TemporaryDirectory() as out_dir:
filepath_in = os.path.join(out_dir, 'sh_coeff_img.nii.gz')
filename_out = 'sh_coeff_img_converted.nii.gz'
filepath_out = os.path.join(out_dir, filename_out)
# Create an input image
dim0, dim1, dim2 = 2, 3, 3 # spatial dimensions of array
num_sh_coeffs = 15 # 15 sh coeffs means l_max is 4
img_in = np.arange(
dim0*dim1*dim2*num_sh_coeffs, dtype=float
).reshape(dim0, dim1, dim2, num_sh_coeffs)
save_nifti(filepath_in, img_in, np.eye(4))
# Compute expected result to compare against later
expected_img_out = convert_sh_descoteaux_tournier(img_in)
# Run the workflow and load the output
workflow = ConvertSHFlow()
> workflow.run(
filepath_in,
out_dir=out_dir,
out_file=filename_out,
)
dipy/workflows/tests/test_io.py:157:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/io.py:423: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0xffff977195a0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/io.py', line 423, code run>
fnc = <bound method ConvertSHFlow.run of <dipy.workflows.io.ConvertSHFlow object at 0xffff8843f0e0>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
__________________________ test_convert_tensors_flow ___________________________
def test_convert_tensors_flow():
with TemporaryDirectory() as out_dir:
filepath_in = os.path.join(out_dir, 'tensors_img.nii.gz')
filename_out = 'tensors_converted.nii.gz'
filepath_out = os.path.join(out_dir, filename_out)
# Create an input image
fdata, fbval, fbvec = get_fnames('small_25')
data, affine = load_nifti(fdata)
gtab = grad.gradient_table(fbval, fbvec)
tenmodel = dti.TensorModel(gtab)
tenfit = tenmodel.fit(data)
tensor_vals = dti.lower_triangular(tenfit.quadratic_form)
ten_img = nifti1_symmat(tensor_vals, affine=affine)
save_nifti(filepath_in, ten_img.get_fdata().squeeze(), affine)
# Compute expected result to compare against later
expected_img_out = reconst_utils.convert_tensors(
ten_img.get_fdata(), 'dipy', 'mrtrix')
# Run the workflow and load the output
workflow = ConvertTensorsFlow()
> workflow.run(
filepath_in,
from_format='dipy',
to_format='mrtrix',
out_dir=out_dir,
out_tensor=filename_out,
)
dipy/workflows/tests/test_io.py:212:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/io.py:457: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0xffff904b8e80, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/io.py', line 457, code run>
fnc = <bound method ConvertTensorsFlow.run of <dipy.workflows.io.ConvertTensorsFlow object at 0xffff8843f230>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
__________________________________ test_mask ___________________________________
def test_mask():
with TemporaryDirectory() as out_dir:
data_path, _, _ = get_fnames('small_25')
volume, affine = load_nifti(data_path)
mask_flow = MaskFlow()
mask_flow.run(data_path, 10, out_dir=out_dir, ub=9)
assert_false(mask_flow.last_generated_outputs)
> mask_flow.run(data_path, 10, out_dir=out_dir)
dipy/workflows/tests/test_masking.py:21:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/mask.py:38: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0xffff904b8c20, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/mask.py', line 38, code run>
fnc = <bound method MaskFlow.run of <dipy.workflows.mask.MaskFlow object at 0xffff8843f380>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
------------------------------ Captured log call -------------------------------
ERROR root:mask.py:34 The upper bound(less than) should be greater than the lower bound (greater_than).
_______________________________ test_reconst_csa _______________________________
def test_reconst_csa():
with warnings.catch_warnings():
warnings.filterwarnings(
"ignore", message=descoteaux07_legacy_msg,
category=PendingDeprecationWarning)
> reconst_flow_core(ReconstCSAFlow)
dipy/workflows/tests/test_reconst_csa_csd.py:26:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/tests/test_reconst_csa_csd.py:55: in reconst_flow_core
reconst_flow.run(data_path, bval_path, bvec_path, mask_path,
dipy/workflows/reconst.py:786: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x24c426e0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/reconst.py', line 786, code run>
fnc = <bound method ReconstCSAFlow.run of <dipy.workflows.reconst.ReconstCSAFlow object at 0xffff8843f4d0>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
_______________________________ test_reconst_csd _______________________________
def test_reconst_csd():
with warnings.catch_warnings():
warnings.filterwarnings(
"ignore", message=descoteaux07_legacy_msg,
category=PendingDeprecationWarning)
> reconst_flow_core(ReconstCSDFlow)
dipy/workflows/tests/test_reconst_csa_csd.py:34:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/tests/test_reconst_csa_csd.py:49: in reconst_flow_core
reconst_flow.run(data_path, bval_path, bvec_path, mask_path,
dipy/workflows/reconst.py:620: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x1d56cbd0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/reconst.py', line 620, code run>
fnc = <bound method ReconstCSDFlow.run of <dipy.workflows.reconst.ReconstCSDFlow object at 0xffff8843f620>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
_______________________________ test_reconst_dki _______________________________
def test_reconst_dki():
with TemporaryDirectory() as out_dir:
data_path, bval_path, bvec_path = get_fnames('small_101D')
volume, affine = load_nifti(data_path)
mask = np.ones_like(volume[:, :, :, 0])
mask_path = pjoin(out_dir, 'tmp_mask.nii.gz')
save_nifti(mask_path, mask.astype(np.uint8), affine)
dki_flow = ReconstDkiFlow()
args = [data_path, bval_path, bvec_path, mask_path]
> dki_flow.run(*args, out_dir=out_dir)
dipy/workflows/tests/test_reconst_dki.py:28:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/reconst.py:937: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x2554a320, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/reconst.py', line 937, code run>
fnc = <bound method ReconstDkiFlow.run of <dipy.workflows.reconst.ReconstDkiFlow object at 0xffff8843f770>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
_______________________________ test_reconst_dsi _______________________________
def test_reconst_dsi():
with TemporaryDirectory() as out_dir:
data_path, bval_path, bvec_path = get_fnames('small_64D')
volume, affine = load_nifti(data_path)
mask = np.ones_like(volume[:, :, :, 0])
mask_path = pjoin(out_dir, 'tmp_mask.nii.gz')
save_nifti(mask_path, mask.astype(np.uint8), affine)
dsi_flow = ReconstDsiFlow()
with warnings.catch_warnings():
warnings.filterwarnings("ignore", message=descoteaux07_legacy_msg,
category=PendingDeprecationWarning)
> dsi_flow.run(data_path, bval_path, bvec_path, mask_path,
out_dir=out_dir, extract_pam_values=True)
dipy/workflows/tests/test_reconst_dsi.py:26:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/reconst.py:493: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x255bff80, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/reconst.py', line 493, code run>
fnc = <bound method ReconstDsiFlow.run of <dipy.workflows.reconst.ReconstDsiFlow object at 0xffff8843f8c0>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
_____________________________ test_reconst_dti_wls _____________________________
def test_reconst_dti_wls():
> reconst_flow_core(ReconstDtiFlow)
dipy/workflows/tests/test_reconst_dti.py:13:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/tests/test_reconst_dti.py:44: in reconst_flow_core
dti_flow.run(*args, **kwargs)
dipy/workflows/reconst.py:332: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x255a9b40, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/reconst.py', line 332, code run>
fnc = <bound method ReconstDtiFlow.run of <dipy.workflows.reconst.ReconstDtiFlow object at 0xffff8843fa10>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
____________________________ test_reconst_dti_nlls _____________________________
def test_reconst_dti_nlls():
> reconst_flow_core(ReconstDtiFlow, extra_args=[], extra_kwargs={})
dipy/workflows/tests/test_reconst_dti.py:17:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/tests/test_reconst_dti.py:44: in reconst_flow_core
dti_flow.run(*args, **kwargs)
dipy/workflows/reconst.py:332: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x255e74e0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/reconst.py', line 332, code run>
fnc = <bound method ReconstDtiFlow.run of <dipy.workflows.reconst.ReconstDtiFlow object at 0xffff7446ce10>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
_________________________ test_reconst_dti_alt_tensor __________________________
def test_reconst_dti_alt_tensor():
> reconst_flow_core(ReconstDtiFlow, extra_args=[],
extra_kwargs={'nifti_tensor': False})
dipy/workflows/tests/test_reconst_dti.py:21:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/tests/test_reconst_dti.py:44: in reconst_flow_core
dti_flow.run(*args, **kwargs)
dipy/workflows/reconst.py:332: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x1ed0f740, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/reconst.py', line 332, code run>
fnc = <bound method ReconstDtiFlow.run of <dipy.workflows.reconst.ReconstDtiFlow object at 0xffff7446d090>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
______________________________ test_reconst_ivim _______________________________
def test_reconst_ivim():
with TemporaryDirectory() as out_dir:
bvals = np.array([0., 10., 20., 30., 40., 60., 80., 100.,
120., 140., 160., 180., 200., 300., 400.,
500., 600., 700., 800., 900., 1000.])
N = len(bvals)
bvecs = generate_bvecs(N)
temp_bval_path = pjoin(out_dir, "temp.bval")
np.savetxt(temp_bval_path, bvals)
temp_bvec_path = pjoin(out_dir, "temp.bvec")
np.savetxt(temp_bvec_path, bvecs)
gtab = gradient_table(bvals, bvecs)
S0, f, D_star, D = 1000.0, 0.132, 0.00885, 0.000921
mevals = np.array(([D_star, D_star, D_star], [D, D, D]))
# This gives an isotropic signal.
data = multi_tensor(gtab, mevals, snr=None, S0=S0,
fractions=[f * 100, 100 * (1 - f)])
# Single voxel data
data_single = data[0]
temp_affine = np.eye(4)
data_multi = np.zeros((2, 2, 1, len(gtab.bvals)), dtype=int)
data_multi[0, 0, 0] = data_multi[0, 1, 0] = data_multi[
1, 0, 0] = data_multi[1, 1, 0] = data_single
data_path = pjoin(out_dir, 'tmp_data.nii.gz')
save_nifti(data_path, data_multi, temp_affine,
dtype=data_multi.dtype)
mask = np.ones_like(data_multi[..., 0], dtype=np.uint8)
mask_path = pjoin(out_dir, 'tmp_mask.nii.gz')
save_nifti(mask_path, mask, temp_affine)
ivim_flow = ReconstIvimFlow()
args = [data_path, temp_bval_path, temp_bvec_path, mask_path]
msg = "Bounds for this fit have been set from experiments and * "
with warnings.catch_warnings():
warnings.filterwarnings(
"ignore", message=msg,
category=UserWarning)
> ivim_flow.run(*args, out_dir=out_dir)
dipy/workflows/tests/test_reconst_ivim.py:59:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/reconst.py:1106: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0xffff951cce40, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/reconst.py', line 1106, code run>
fnc = <bound method ReconstIvimFlow.run of <dipy.workflows.reconst.ReconstIvimFlow object at 0xffff8843fb60>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
_________________________ test_reconst_mmri_laplacian __________________________
def test_reconst_mmri_laplacian():
> reconst_mmri_core(ReconstMAPMRIFlow, lap=True, pos=False)
dipy/workflows/tests/test_reconst_mapmri.py:18:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/tests/test_reconst_mapmri.py:46: in reconst_mmri_core
mmri_flow.run(data_files=data_path, bvals_files=bval_path,
dipy/workflows/reconst.py:114: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x1e7d1ef0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/reconst.py', line 114, code run>
fnc = <bound method ReconstMAPMRIFlow.run of <dipy.workflows.reconst.ReconstMAPMRIFlow object at 0xffff8843fcb0>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
____________________________ test_reconst_mmri_none ____________________________
def test_reconst_mmri_none():
> reconst_mmri_core(ReconstMAPMRIFlow, lap=False, pos=False)
dipy/workflows/tests/test_reconst_mapmri.py:22:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/tests/test_reconst_mapmri.py:46: in reconst_mmri_core
mmri_flow.run(data_files=data_path, bvals_files=bval_path,
dipy/workflows/reconst.py:114: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x1ebd43d0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/reconst.py', line 114, code run>
fnc = <bound method ReconstMAPMRIFlow.run of <dipy.workflows.reconst.ReconstMAPMRIFlow object at 0xffff7446d590>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
______________________________ test_reconst_rumba ______________________________
def test_reconst_rumba():
with warnings.catch_warnings():
warnings.filterwarnings(
"ignore", message=descoteaux07_legacy_msg,
category=PendingDeprecationWarning)
> reconst_flow_core(ReconstRUMBAFlow)
dipy/workflows/tests/test_reconst_rumba.py:21:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/tests/test_reconst_rumba.py:34: in reconst_flow_core
reconst_flow.run(
dipy/utils/deprecator.py:408: in wrapper
return function(*args, **kwargs)
dipy/workflows/reconst.py:1293: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x1ce77b10, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/reconst.py', line 1293, code run>
fnc = <bound method ReconstRUMBAFlow.run of <dipy.workflows.reconst.ReconstRUMBAFlow object at 0xffff8843fe00>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
____________________________ test_median_otsu_flow _____________________________
def test_median_otsu_flow():
with TemporaryDirectory() as out_dir:
data_path, _, _ = get_fnames('small_25')
volume = load_nifti_data(data_path)
save_masked = True
median_radius = 3
numpass = 3
autocrop = False
vol_idx = [0]
dilate = 0
mo_flow = MedianOtsuFlow()
> mo_flow.run(data_path, out_dir=out_dir, save_masked=save_masked,
median_radius=median_radius, numpass=numpass,
autocrop=autocrop, vol_idx=vol_idx, dilate=dilate)
dipy/workflows/tests/test_segment.py:32:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/segment.py:59: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0xffff888d2430, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/segment.py', line 59, code run>
fnc = <bound method MedianOtsuFlow.run of <dipy.workflows.segment.MedianOtsuFlow object at 0xffff888c41a0>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
____________________________ test_recobundles_flow _____________________________
def test_recobundles_flow():
with TemporaryDirectory() as out_dir:
data_path = get_fnames('fornix')
fornix = load_tractogram(data_path, 'same',
bbox_valid_check=False).streamlines
f = Streamlines(fornix)
f1 = f.copy()
f2 = f1[:15].copy()
f2._data += np.array([40, 0, 0])
f.extend(f2)
f2_path = pjoin(out_dir, "f2.trk")
sft = StatefulTractogram(f2, data_path, Space.RASMM)
save_tractogram(sft, f2_path, bbox_valid_check=False)
f1_path = pjoin(out_dir, "f1.trk")
sft = StatefulTractogram(f, data_path, Space.RASMM)
save_tractogram(sft, f1_path, bbox_valid_check=False)
rb_flow = RecoBundlesFlow(force=True)
> rb_flow.run(f1_path, f2_path, greater_than=0, clust_thr=10,
model_clust_thr=5., reduction_thr=10, out_dir=out_dir)
dipy/workflows/tests/test_segment.py:78:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/segment.py:208: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x25578e60, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/segment.py', line 208, code run>
fnc = <bound method RecoBundlesFlow.run of <dipy.workflows.segment.RecoBundlesFlow object at 0xffff888c42f0>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
------------------------------ Captured log call -------------------------------
INFO root:segment.py:206 ### RecoBundles ###
__________________________________ test_stats __________________________________
def test_stats():
with TemporaryDirectory() as out_dir:
data_path, bval_path, bvec_path = get_fnames('small_101D')
volume, affine = load_nifti(data_path)
mask = np.ones_like(volume[:, :, :, 0], dtype=np.uint8)
mask_path = join(out_dir, 'tmp_mask.nii.gz')
save_nifti(mask_path, mask, affine)
snr_flow = SNRinCCFlow(force=True)
args = [data_path, bval_path, bvec_path, mask_path]
> snr_flow.run(*args, out_dir=out_dir)
dipy/workflows/tests/test_stats.py:42:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/stats.py:67: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x1e7d0ea0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/stats.py', line 67, code run>
fnc = <bound method SNRinCCFlow.run of <dipy.workflows.stats.SNRinCCFlow object at 0xffff888c4440>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
__________________ test_particle_filtering_tracking_workflows __________________
def test_particle_filtering_tracking_workflows():
with TemporaryDirectory() as out_dir:
dwi_path, bval_path, bvec_path = get_fnames('small_64D')
volume, affine = load_nifti(dwi_path)
# Create some mask
mask = np.ones_like(volume[:, :, :, 0], dtype=np.uint8)
mask_path = join(out_dir, 'tmp_mask.nii.gz')
save_nifti(mask_path, mask, affine)
simple_wm = np.array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 1, 0, 0, 0, 0],
[0, 0, 1, 1, 1, 1, 0, 1, 0, 0],
[0, 0, 1, 0, 1, 0, 1, 0, 0, 0],
[0, 0, 1, 0, 1, 1, 0, 1, 0, 0],
[0, 0, 0, 1, 1, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
])
simple_wm = np.dstack([np.zeros(simple_wm.shape),
np.zeros(simple_wm.shape),
simple_wm, simple_wm, simple_wm,
simple_wm, simple_wm, simple_wm,
np.zeros(simple_wm.shape),
np.zeros(simple_wm.shape)])
simple_gm = np.array([[0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 1, 0, 0, 1, 1, 1, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0, 1],
[0, 1, 0, 0, 0, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0, 1],
[1, 0, 0, 0, 0, 0, 0, 0, 1, 0],
[0, 1, 0, 0, 0, 0, 1, 0, 1, 0],
[0, 1, 1, 0, 1, 1, 1, 0, 1, 1],
[0, 0, 0, 1, 0, 0, 0, 1, 1, 0],
])
simple_gm = np.dstack([np.zeros(simple_gm.shape),
np.zeros(simple_gm.shape),
simple_gm, simple_gm, simple_gm,
simple_gm, simple_gm, simple_gm,
np.zeros(simple_gm.shape),
np.zeros(simple_gm.shape)])
simple_csf = np.ones(simple_wm.shape) - simple_wm - simple_gm
wm_path = join(out_dir, 'tmp_wm.nii.gz')
gm_path = join(out_dir, 'tmp_gm.nii.gz')
csf_path = join(out_dir, 'tmp_csf.nii.gz')
for path, arr in zip([wm_path, gm_path, csf_path],
[simple_wm, simple_gm, simple_csf]):
save_nifti(path, arr.astype(np.uint8), affine)
# CSD Reconstruction
reconst_csd_flow = ReconstCSDFlow()
with warnings.catch_warnings():
warnings.filterwarnings(
"ignore", message=descoteaux07_legacy_msg,
category=PendingDeprecationWarning)
> reconst_csd_flow.run(dwi_path, bval_path, bvec_path, mask_path,
out_dir=out_dir, extract_pam_values=True)
dipy/workflows/tests/test_tracking.py:81:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/reconst.py:620: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x253274e0, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/reconst.py', line 620, code run>
fnc = <bound method ReconstCSDFlow.run of <dipy.workflows.reconst.ReconstCSDFlow object at 0xffff7446e350>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
______________________ test_local_fiber_tracking_workflow ______________________
def test_local_fiber_tracking_workflow():
with TemporaryDirectory() as out_dir:
data_path, bval_path, bvec_path = get_fnames('small_64D')
volume, affine = load_nifti(data_path)
mask = np.ones_like(volume[:, :, :, 0], dtype=np.uint8)
mask_path = join(out_dir, 'tmp_mask.nii.gz')
save_nifti(mask_path, mask, affine)
reconst_csd_flow = ReconstCSDFlow()
with warnings.catch_warnings():
warnings.filterwarnings(
"ignore", message=descoteaux07_legacy_msg,
category=PendingDeprecationWarning)
> reconst_csd_flow.run(data_path, bval_path, bvec_path, mask_path,
out_dir=out_dir, extract_pam_values=True)
dipy/workflows/tests/test_tracking.py:136:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/reconst.py:620: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0x25072450, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/reconst.py', line 620, code run>
fnc = <bound method ReconstCSDFlow.run of <dipy.workflows.reconst.ReconstCSDFlow object at 0xffff7446e210>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
_____________________________ test_force_overwrite _____________________________
def test_force_overwrite():
with TemporaryDirectory() as out_dir:
data_path, _, _ = get_fnames('small_25')
mo_flow = MedianOtsuFlow(output_strategy='absolute')
# Generate the first results
> mo_flow.run(data_path, out_dir=out_dir, vol_idx=[0])
dipy/workflows/tests/test_workflow.py:19:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dipy/workflows/segment.py:59: in run
io_it = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
frame = <frame at 0xffff88896430, file '/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/segment.py', line 59, code run>
fnc = <bound method MedianOtsuFlow.run of <dipy.workflows.segment.MedianOtsuFlow object at 0xffff7446e5d0>>
output_strategy = 'absolute', mix_names = False
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
______________________________ test_missing_file _______________________________
def test_missing_file():
# The function is invoking a dummy workflow with a non-existent file.
# So, an OSError will be raised.
class TestMissingFile(Workflow):
def run(self, filename, out_dir=''):
"""Dummy Workflow used to test if input file is absent.
Parameters
----------
filename : string
path of the first input file.
out_dir: string, optional
folder path to save the results.
"""
io = self.get_io_iterator()
dummyflow = TestMissingFile()
with TemporaryDirectory() as tempdir:
> npt.assert_raises(OSError, dummyflow.run,
pjoin(tempdir, 'dummy_file.txt'))
dipy/workflows/tests/test_workflow.py:71:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.13/unittest/case.py:795: in assertRaises
return context.handle('assertRaises', args, kwargs)
/usr/lib/python3.13/unittest/case.py:238: in handle
callable_obj(*args, **kwargs)
dipy/workflows/tests/test_workflow.py:67: in run
io = self.get_io_iterator()
dipy/workflows/workflow.py:36: in get_io_iterator
io_it = io_iterator_(frame, self.run,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
def io_iterator_(frame, fnc, output_strategy='absolute', mix_names=False):
"""Create an IOIterator using introspection.
Parameters
----------
frame : frameobject
Contains the info about the current local variables values.
fnc : function
The function to inspect
output_strategy : string
Controls the behavior of the IOIterator for output paths.
mix_names : bool
Whether or not to append a mix of input names at the beginning.
Returns
-------
Properly instantiated IOIterator object.
"""
args, _, _, values = inspect.getargvalues(frame)
args.remove('self')
> del values['self']
E TypeError: cannot remove variables from FrameLocalsProxy
dipy/workflows/multi_io.py:177: TypeError
=============================== warnings summary ===============================
dipy/reconst/qti.py:19
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:19: SyntaxWarning: invalid escape sequence '\m'
"""Convert symmetric 3 x 3 matrices into 6 x 1 vectors.
dipy/reconst/qti.py:57
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:57: SyntaxWarning: invalid escape sequence '\m'
"""Convert 6 x 1 vectors into symmetric 3 x 3 matrices.
dipy/reconst/qti.py:91
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:91: SyntaxWarning: invalid escape sequence '\m'
"""Convert symmetric 6 x 6 matrices into 21 x 1 vectors.
dipy/reconst/qti.py:137
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:137: SyntaxWarning: invalid escape sequence '\m'
"""Convert 21 x 1 vectors into symmetric 6 x 6 matrices.
dipy/reconst/qti.py:187
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:187: SyntaxWarning: invalid escape sequence '\m'
"""Convert a 1 x 6 vector into a symmetric 3 x 3 matrix.
dipy/reconst/qti.py:222
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:222: SyntaxWarning: invalid escape sequence '\m'
"""Convert 1 x 21 vector into a symmetric 6 x 6 matrix.
dipy/reconst/qti.py:280
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:280: SyntaxWarning: invalid escape sequence '\m'
"""Calculate covariance of a diffusion tensor distribution (DTD).
dipy/reconst/qti.py:323
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:323: SyntaxWarning: invalid escape sequence '\e'
"""Generate signals using the covariance tensor signal representation.
dipy/reconst/qti.py:395
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:395: SyntaxWarning: invalid escape sequence '\m'
"""Calculate the design matrix from the b-tensors.
dipy/reconst/qti.py:761
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:761: SyntaxWarning: invalid escape sequence '\l'
"""Mean diffusivity.
dipy/reconst/qti.py:783
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:783: SyntaxWarning: invalid escape sequence '\m'
"""Variance of microscopic mean diffusivities.
dipy/reconst/qti.py:805
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:805: SyntaxWarning: invalid escape sequence '\m'
"""Shear variance.
dipy/reconst/qti.py:827
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:827: SyntaxWarning: invalid escape sequence '\m'
"""Total isotropic variance.
dipy/reconst/qti.py:863
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:863: SyntaxWarning: invalid escape sequence '\l'
"""Average of microscopic diffusion tensors' outer products with
dipy/reconst/qti.py:886
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:886: SyntaxWarning: invalid escape sequence '\m'
"""Normalized variance of mean diffusivities.
dipy/reconst/qti.py:909
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:909: SyntaxWarning: invalid escape sequence '\m'
"""Normalized microscopic anisotropy.
dipy/reconst/qti.py:934
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:934: SyntaxWarning: invalid escape sequence '\m'
"""Microscopic fractional anisotropy.
dipy/reconst/qti.py:953
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:953: SyntaxWarning: invalid escape sequence '\l'
"""Normalized macroscopic anisotropy.
dipy/reconst/qti.py:979
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:979: SyntaxWarning: invalid escape sequence '\s'
"""Fractional anisotropy.
dipy/reconst/qti.py:998
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:998: SyntaxWarning: invalid escape sequence '\m'
"""Microscopic orientation coherence.
dipy/reconst/qti.py:1036
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:1036: SyntaxWarning: invalid escape sequence '\m'
"""Bulk kurtosis.
dipy/reconst/qti.py:1061
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:1061: SyntaxWarning: invalid escape sequence '\m'
"""Shear kurtosis.
dipy/reconst/qti.py:1086
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/qti.py:1086: SyntaxWarning: invalid escape sequence '\m'
"""Microscopic kurtosis.
debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/denoise/tests/test_gibbs.py: 31 warnings
debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/direction/tests/test_peaks.py: 94 warnings
debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/tests/test_sfm.py: 16 warnings
debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/utils/tests/test_parallel.py: 32 warnings
/usr/lib/python3.13/multiprocessing/popen_fork.py:67: DeprecationWarning: This process (pid=1669) is multi-threaded, use of fork() may lead to deadlocks in the child.
self.pid = os.fork()
debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/reconst/tests/test_sfm.py::test_sfm
/usr/lib/python3/dist-packages/joblib/externals/loky/backend/fork_exec.py:38: DeprecationWarning: This process (pid=1669) is multi-threaded, use of fork() may lead to deadlocks in the child.
pid = os.fork()
debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/tests/test_tracking.py::test_particle_filtering_tracking_workflows
/<<PKGBUILDDIR>>/debian/python3-dipy/usr/lib/python3.13/dist-packages/dipy/workflows/tests/test_tracking.py:73: RuntimeWarning: invalid value encountered in cast
save_nifti(path, arr.astype(np.uint8), affine)
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED dipy/utils/tests/test_deprecator.py::test_deprecate_with_version - Ass...
FAILED dipy/workflows/tests/test_align.py::test_reslice - TypeError: cannot r...
FAILED dipy/workflows/tests/test_align.py::test_slr_flow - TypeError: cannot ...
FAILED dipy/workflows/tests/test_align.py::test_image_registration - TypeErro...
FAILED dipy/workflows/tests/test_align.py::test_apply_affine_transform - Type...
FAILED dipy/workflows/tests/test_align.py::test_motion_correction - TypeError...
FAILED dipy/workflows/tests/test_align.py::test_syn_registration_flow - TypeE...
FAILED dipy/workflows/tests/test_denoise.py::test_nlmeans_flow - TypeError: c...
FAILED dipy/workflows/tests/test_denoise.py::test_patch2self_flow - TypeError...
FAILED dipy/workflows/tests/test_denoise.py::test_lpca_flow - TypeError: cann...
FAILED dipy/workflows/tests/test_denoise.py::test_mppca_flow - TypeError: can...
FAILED dipy/workflows/tests/test_denoise.py::test_gibbs_flow - TypeError: can...
FAILED dipy/workflows/tests/test_iap.py::test_variable_type - TypeError: cann...
FAILED dipy/workflows/tests/test_io.py::test_split_flow - TypeError: cannot r...
FAILED dipy/workflows/tests/test_io.py::test_convert_sh_flow - TypeError: can...
FAILED dipy/workflows/tests/test_io.py::test_convert_tensors_flow - TypeError...
FAILED dipy/workflows/tests/test_masking.py::test_mask - TypeError: cannot re...
FAILED dipy/workflows/tests/test_reconst_csa_csd.py::test_reconst_csa - TypeE...
FAILED dipy/workflows/tests/test_reconst_csa_csd.py::test_reconst_csd - TypeE...
FAILED dipy/workflows/tests/test_reconst_dki.py::test_reconst_dki - TypeError...
FAILED dipy/workflows/tests/test_reconst_dsi.py::test_reconst_dsi - TypeError...
FAILED dipy/workflows/tests/test_reconst_dti.py::test_reconst_dti_wls - TypeE...
FAILED dipy/workflows/tests/test_reconst_dti.py::test_reconst_dti_nlls - Type...
FAILED dipy/workflows/tests/test_reconst_dti.py::test_reconst_dti_alt_tensor
FAILED dipy/workflows/tests/test_reconst_ivim.py::test_reconst_ivim - TypeErr...
FAILED dipy/workflows/tests/test_reconst_mapmri.py::test_reconst_mmri_laplacian
FAILED dipy/workflows/tests/test_reconst_mapmri.py::test_reconst_mmri_none - ...
FAILED dipy/workflows/tests/test_reconst_rumba.py::test_reconst_rumba - TypeE...
FAILED dipy/workflows/tests/test_segment.py::test_median_otsu_flow - TypeErro...
FAILED dipy/workflows/tests/test_segment.py::test_recobundles_flow - TypeErro...
FAILED dipy/workflows/tests/test_stats.py::test_stats - TypeError: cannot rem...
FAILED dipy/workflows/tests/test_tracking.py::test_particle_filtering_tracking_workflows
FAILED dipy/workflows/tests/test_tracking.py::test_local_fiber_tracking_workflow
FAILED dipy/workflows/tests/test_workflow.py::test_force_overwrite - TypeErro...
FAILED dipy/workflows/tests/test_workflow.py::test_missing_file - TypeError: ...
= 35 failed, 787 passed, 169 skipped, 9 deselected, 198 warnings in 716.07s (0:11:56) =
make[1]: *** [debian/rules:96: execute_after_dh_auto_install] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:73: binary-arch] Error 2
dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2024-09-13T20:21:10Z
If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/artifact/712810/
This bug has been filed at "normal" severity, as we haven't started the
transition to add 3.13 as a supported version, yet. This will be raised to RC
as soon as that happens, hopefully well before trixie.
Thanks,
Stefano
More information about the Debian-med-packaging
mailing list