diff --git a/README.md b/README.md index 27a99472..1b19cb1a 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,10 @@ [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/stnava/ANTsPyDocker/master) [![PubMed](https://img.shields.io/badge/ANTsX_paper-Open_Access-8DABFF?logo=pubmed)](https://pubmed.ncbi.nlm.nih.gov/33907199/) + ## About ANTsPy + Search [ANTsPy documentation at read the docs.](https://antspyx.readthedocs.io/en/latest/?badge=latest) ANTsPy is a Python library which wraps the C++ biomedical image processing library [ANTs](https://github.com/ANTsX/ANTs), diff --git a/ants/__init__.py b/ants/__init__.py index a1a6ef3f..193ddf21 100644 --- a/ants/__init__.py +++ b/ants/__init__.py @@ -11,4 +11,4 @@ from .learn import * from .viz import * -from . import contrib +from . import contrib \ No newline at end of file diff --git a/ants/core/__init__.py b/ants/core/__init__.py index c90d9fc0..9fddd447 100644 --- a/ants/core/__init__.py +++ b/ants/core/__init__.py @@ -1,9 +1,66 @@ -from .ants_image import * -from .ants_image_io import * +from .ants_image_io import ( + image_header_info, + image_clone, + image_read, + dicom_read, + image_write, + make_image, + matrix_to_images, + images_from_matrix, + image_list_to_matrix, + images_to_matrix, + matrix_from_images, + timeseries_to_matrix, + matrix_to_timeseries, + from_numpy, + _from_numpy +) + +from .ants_image import ( + ANTsImage, + LabelImage, + copy_image_info, + set_origin, + get_origin, + set_direction, + get_direction, + set_spacing, + get_spacing, + image_physical_space_consistency, + image_type_cast, + allclose +) + +from .ants_metric_io import ( + new_ants_metric, + create_ants_metric, + supported_metrics +) + +from .ants_transform_io import ( + create_ants_transform, + new_ants_transform, + read_transform, + write_transform, + transform_from_displacement_field, + transform_to_displacement_field +) + +from .ants_transform import ( + ANTsTransform, + set_ants_transform_parameters, + get_ants_transform_parameters, + get_ants_transform_fixed_parameters, + set_ants_transform_fixed_parameters, + apply_ants_transform, + apply_ants_transform_to_point, + apply_ants_transform_to_vector, + apply_ants_transform_to_image, + invert_ants_transform, + compose_ants_transforms, + transform_index_to_physical_point, + transform_physical_point_to_index +) -from .ants_transform import * -from .ants_transform_io import * -from .ants_metric import * -from .ants_metric_io import * \ No newline at end of file diff --git a/ants/learn/__init__.py b/ants/learn/__init__.py index 3fa88be1..22912057 100644 --- a/ants/learn/__init__.py +++ b/ants/learn/__init__.py @@ -1,2 +1,6 @@ -from .decomposition import * \ No newline at end of file +from .decomposition import ( + eig_seg, + initialize_eigenanatomy, + sparse_decom2 +) \ No newline at end of file diff --git a/ants/registration/__init__.py b/ants/registration/__init__.py index 9c9717e0..52ca4d46 100644 --- a/ants/registration/__init__.py +++ b/ants/registration/__init__.py @@ -1,18 +1,22 @@ -from .affine_initializer import * -from .apply_transforms import * +from .affine_initializer import affine_initializer +from .apply_transforms import (apply_transforms,apply_transforms_to_points) from .create_jacobian_determinant_image import create_jacobian_determinant_image from .create_jacobian_determinant_image import deformation_gradient -from .create_warped_grid import * -from .fsl2antstransform import * -from .make_points_image import * -from .metrics import * -from .reflect_image import * -from .reorient_image import * -from .resample_image import * -from .symmetrize_image import * -from .build_template import * -from .landmark_transforms import * +from .create_warped_grid import create_warped_grid +from .fsl2antstransform import fsl2antstransform +from .make_points_image import make_points_image +from .metrics import image_mutual_information +from .reflect_image import reflect_image +from .reorient_image import (get_orientation, + reorient_image2, + get_possible_orientations, + get_center_of_mass) +from .resample_image import (resample_image, + resample_image_to_target) +from .symmetrize_image import symmetrize_image +from .build_template import build_template +from .landmark_transforms import (fit_transform_to_paired_points, fit_time_varying_transform_to_point_sets) -from .interface import * +from .interface import (registration, motion_correction) diff --git a/ants/segmentation/__init__.py b/ants/segmentation/__init__.py index f785cb1b..2d26f4b2 100644 --- a/ants/segmentation/__init__.py +++ b/ants/segmentation/__init__.py @@ -1,11 +1,10 @@ -from .anti_alias import * -from .atropos import * -from .kmeans import * -from .functional_lung_segmentation import * -from .fuzzy_spatial_cmeans_segmentation import * -from .kelly_kapowski import * -from .joint_label_fusion import joint_label_fusion -from .joint_label_fusion import local_joint_label_fusion -from .label_geometry_measures import * -from .otsu import * -from .prior_based_segmentation import * +from .anti_alias import anti_alias +from .atropos import atropos +from .kmeans import kmeans_segmentation +from .functional_lung_segmentation import functional_lung_segmentation +from .fuzzy_spatial_cmeans_segmentation import fuzzy_spatial_cmeans_segmentation +from .kelly_kapowski import kelly_kapowski +from .joint_label_fusion import joint_label_fusion, local_joint_label_fusion +from .label_geometry_measures import label_geometry_measures +from .otsu import otsu_segmentation +from .prior_based_segmentation import prior_based_segmentation diff --git a/ants/utils/__init__.py b/ants/utils/__init__.py index d0541fd9..f13af7f8 100644 --- a/ants/utils/__init__.py +++ b/ants/utils/__init__.py @@ -1,45 +1,91 @@ -from .add_noise_to_image import * -from .bias_correction import * -from .channels import * -from .compose_displacement_fields import * -from .convert_nibabel import * -from .crop_image import * -from .denoise_image import * -from .fit_bspline_object_to_scattered_data import * -from .fit_bspline_displacement_field import * -from .fit_thin_plate_spline_displacement_field import * -from .get_ants_data import * -from .get_centroids import * -from .get_mask import * -from .get_neighborhood import * -from .histogram_match_image import * -from .hausdorff_distance import * -from .image_similarity import * -from .image_to_cluster_images import * -from .iMath import * -from .impute import * -from .integrate_velocity_field import * -from .invariant_image_similarity import * -from .invert_displacement_field import * -from .label_clusters import * -from .label_image_centroids import * -from .label_overlap_measures import * -from .label_stats import * -from .labels_to_matrix import * -from .mask_image import * -from .mni2tal import * -from .morphology import * -from .multi_label_morphology import * -from .ndimage_to_list import * -from .pad_image import * -from .process_args import * -from .quantile import * -from .scalar_rgb_vector import * -from .simulate_displacement_field import * -from .slice_image import * -from .smooth_image import * -from .threshold_image import * -from .weingarten_image_curvature import * -from .average_transform import * +from .add_noise_to_image import add_noise_to_image +from .bias_correction import (n3_bias_field_correction, n3_bias_field_correction2, n4_bias_field_correction, abp_n4) +from .channels import merge_channels, split_channels +from .compose_displacement_fields import compose_displacement_fields +from .convert_nibabel import (to_nibabel, from_nibabel, nifti_to_ants) +from .crop_image import (crop_image, + crop_indices, + decrop_image) +from .denoise_image import denoise_image +from .fit_bspline_object_to_scattered_data import fit_bspline_object_to_scattered_data +from .fit_bspline_displacement_field import fit_bspline_displacement_field +from .fit_thin_plate_spline_displacement_field import fit_thin_plate_spline_displacement_field +from .get_ants_data import (get_ants_data, + get_data) +from .get_centroids import get_centroids +from .get_mask import get_mask +from .get_neighborhood import (get_neighborhood_in_mask, + get_neighborhood_at_voxel) +from .histogram_match_image import histogram_match_image +from .hausdorff_distance import hausdorff_distance +from .image_similarity import image_similarity +from .image_to_cluster_images import image_to_cluster_images +from .iMath import (iMath, + image_math, + multiply_images, + iMath_get_largest_component, + iMath_normalize, + iMath_truncate_intensity, + iMath_sharpen, + iMath_pad, + iMath_maurer_distance, + iMath_perona_malik, + iMath_grad, + iMath_laplacian, + iMath_canny, + iMath_histogram_equalization, + iMath_MD, + iMath_ME, + iMath_MO, + iMath_MC, + iMath_GD, + iMath_GE, + iMath_GO, + iMath_GC, + iMath_fill_holes, + iMath_get_largest_component, + iMath_normalize, + iMath_truncate_intensity, + iMath_sharpen, + iMath_propagate_labels_through_mask) +from .impute import impute +from .integrate_velocity_field import integrate_velocity_field +from .invariant_image_similarity import (invariant_image_similarity, + convolve_image) +from .invert_displacement_field import invert_displacement_field +from .label_clusters import label_clusters +from .label_image_centroids import label_image_centroids +from .label_overlap_measures import label_overlap_measures +from .label_stats import label_stats +from .labels_to_matrix import labels_to_matrix +from .mask_image import mask_image +from .mni2tal import mni2tal +from .morphology import morphology +from .multi_label_morphology import multi_label_morphology +from .ndimage_to_list import (ndimage_to_list, + list_to_ndimage) +from .pad_image import pad_image +from .process_args import ( + get_pointer_string, + short_ptype, + _ptrstr, + _int_antsProcessArguments, + get_lib_fn, +) +from .quantile import (ilr, + rank_intensity, + quantile, + regress_poly, + regress_components, + get_average_of_timeseries, + compcor, + bandpass_filter_matrix ) +from .scalar_rgb_vector import (rgb_to_vector, vector_to_rgb, scalar_to_rgb) +from .simulate_displacement_field import simulate_displacement_field +from .slice_image import slice_image +from .smooth_image import smooth_image +from .threshold_image import threshold_image +from .weingarten_image_curvature import weingarten_image_curvature +from .average_transform import average_affine_transform, average_affine_transform_no_rigid from .averaging import average_images diff --git a/ants/utils/average_transform.py b/ants/utils/average_transform.py index 617b5630..057f2f23 100644 --- a/ants/utils/average_transform.py +++ b/ants/utils/average_transform.py @@ -2,6 +2,7 @@ from tempfile import mktemp import os +__all__ = ['average_affine_transform', 'average_affine_transform_no_rigid'] def _average_affine_transform_driver(transformlist, referencetransform=None, funcname="AverageAffineTransform"): diff --git a/ants/utils/averaging.py b/ants/utils/averaging.py index 80136ae7..27b6002a 100644 --- a/ants/utils/averaging.py +++ b/ants/utils/averaging.py @@ -8,6 +8,7 @@ from ..core import ants_image_io as iio2 from .. import registration as reg +__all__ = ['average_images'] ######################## def average_images( x, normalize=True, mask=None, imagetype=0, sum_image_threshold=3, return_sum_image=False, verbose=False ): """ diff --git a/ants/viz/__init__.py b/ants/viz/__init__.py index 7e585f10..1ebd977d 100644 --- a/ants/viz/__init__.py +++ b/ants/viz/__init__.py @@ -1,5 +1,14 @@ -from .create_tiled_mosaic import * -from .plot import * -from .render_surface_function import * -from .surface import * -from .volume import * +from .create_tiled_mosaic import create_tiled_mosaic +from .plot import ( + plot, + movie, + plot_hist, + plot_grid, + plot_ortho, + plot_ortho_double, + plot_ortho_stack, + plot_directory, +) +from .render_surface_function import render_surface_function +from .surface import (surf, surf_fold, surf_smooth, get_canonical_views) +from .volume import (vol, vol_fold)