Pybraincompare

Semantic and computational comparison methods for brain imaging data, and visualization of outputs. Modules include:

compare

An example scatterplot image comparison, dynamically rendered using python and d3 from two raw statstical brain maps and an atlas image, [is available](http://vbmis.com/bmi/share/neurovault/scatter_atlas.html). A new addition (beta) is a [canvas based scatterplot](http://vbmis.com/bmi/project/brainatlas) that can render 150K + points.

annotate

This module will let you convert a triples data structure defining relationships in an ontology to a an interactive d3 visualization, demo is [is available](http://vbmis.com/bmi/share/neurovault/ontology_tree.html). Reverse inference tree also [in development](http://vbmis.com/bmi/share/neurovault/reverse_inference.html).

network

This module will work with visualization of functional connectivity data, demo is [is available](http://vbmis.com/bmi/share/neurovault/connectogram.html) and see examples folder for how to run with your data.

QA for Statistical Maps

This module will generate a web report for a list of statistical maps, demo [is available](http://www.vbmis.com/bmi/project/qa/index.html). Much work to be done! Please submit an issue if you have feedback.

histogram

An example histogram using python and chartJS from a sigle brain map [is available](http://vbmis.com/bmi/share/neurovault/histogram.html).

Contents:

Installation

manual Installation

git clone https://github.com/vsoch/pybraincompare
cd pybraincompare
sudo python setup.py install

pip Installation

pip install pybraincompare

pybraincompare

pybraincompare package

Subpackages
pybraincompare.annotate package
Submodules
pybraincompare.annotate.JSONEncoder module
class pybraincompare.annotate.JSONEncoder.Node(nid, parent, name, meta=None)[source]

Bases: object

class pybraincompare.annotate.JSONEncoder.NodeDict(dict=None, **kwargs)[source]

Bases: UserDict.UserDict

addNodes(nodes)[source]

Add every node as a child to its parent by doing two passes.

class pybraincompare.annotate.JSONEncoder.NodeJSONEncoder(skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, encoding='utf-8', default=None)[source]

Bases: json.encoder.JSONEncoder

default(node)[source]
pybraincompare.annotate.ontology module
pybraincompare.annotate.ontology.make_ontology_tree_d3(data_structure)[source]
pybraincompare.annotate.ontology.make_reverse_inference_tree_d3(data_structure)[source]
pybraincompare.annotate.ontology.named_ontology_tree_from_tsv(relationship_table, output_json=None, meta_data=None)[source]
pybraincompare.annotate.ontology.ontology_tree_from_tsv(relationship_table, output_json=None)[source]
Module contents
pybraincompare.compare package
Submodules
pybraincompare.compare.atlas module

atlas.py: part of pybraincompare package Functions to integrate atlases in image comparison

class pybraincompare.compare.atlas.atlas(atlas_xml, atlas_file, views=['axial', 'sagittal', 'coronal'])[source]
get_region_names()[source]
get_static_svg()[source]
make_color_lookup(new_colors)[source]
make_svg(views)[source]
read_xml(atlas_xml)[source]
remove_attributes(path, attributes)[source]
save_svg(output_folder, views=None)[source]
set_attributes(path, attributes, new_values)[source]
class pybraincompare.compare.atlas.region(label, index, x, y, z)[source]
pybraincompare.compare.maths module

maths.py: part of pybraincompare package Simple math functions

pybraincompare.compare.maths.calc_rows_columns(ratio, n_images)[source]
pybraincompare.compare.maths.calculate_atlas_correlation(image_vector1, image_vector2, atlas_vector, atlas_labels, atlas_colors, corr_type='pearson', summary=False)[source]
pybraincompare.compare.maths.calculate_correlation(images, mask=None, atlas=None, summary=False, corr_type='pearson')[source]
pybraincompare.compare.maths.calculate_pairwise_correlation(image_vector1, image_vector2, corr_type='pearson', atlas_vector=None)[source]
pybraincompare.compare.maths.do_multi_correlation(image_df, corr_type='pearson')[source]
pybraincompare.compare.maths.percent_to_float(x)[source]
pybraincompare.compare.mrutils module

mrutils.py: part of pybraincompare package Functions work with brain maps

pybraincompare.compare.mrutils.apply_threshold(image1, thresh, direction='posneg')[source]
pybraincompare.compare.mrutils.do_mask(images, mask)[source]
pybraincompare.compare.mrutils.generate_thresholds(lower=0, upper=4, by=0.01)[source]
pybraincompare.compare.mrutils.get_nii_obj(images)[source]
pybraincompare.compare.mrutils.get_standard_brain(software)[source]
pybraincompare.compare.mrutils.get_standard_mask(software)[source]
pybraincompare.compare.mrutils.get_standard_mat(software)[source]
pybraincompare.compare.mrutils.make_binary_deletion_mask(images)[source]
pybraincompare.compare.mrutils.make_binary_deletion_vector(image_vectors)[source]
pybraincompare.compare.mrutils.make_in_out_mask(mask_bin, mr_folder, masked_in, masked_out, img_dir, save_png=True)[source]
pybraincompare.compare.mrutils.resample_images_ref(images, reference, interpolation, resample_dim=None)[source]
pybraincompare.compare.mrutils.squeeze_fourth_dimension(images)[source]
pybraincompare.compare.network module

network.py: part of pybraincompare package Functions for visualization of functional MRI

pybraincompare.compare.network.connectogram(matrix_file, groups, threshold, network_names=None)[source]
pybraincompare.compare.scatterplot module

scatterplot.py: part of pybraincompare package Functions to perform and create scatterplot comparisons

pybraincompare.compare.scatterplot.get_atlas_objects(atlas, atlas_rendering)[source]
pybraincompare.compare.scatterplot.make_scatterplot_interface(corr_df, elements, error=None, remove_scripts=None)[source]
pybraincompare.compare.scatterplot.scatterplot_canvas(image_vector1, image_vector2, image_names, atlas_vector, atlas_labels, atlas_colors, output_directory, view=True)[source]
pybraincompare.compare.scatterplot.scatterplot_compare(images, image_names, software='FSL', atlas=None, atlas_rendering=None, custom=None, corr_type='pearson', reference=None, resample_dim=[8, 8, 8], remove_scripts=None, width=1200)[source]
pybraincompare.compare.scatterplot.scatterplot_compare_error(template, specific_error)[source]
pybraincompare.compare.scatterplot.scatterplot_compare_vector(image_vector1, image_vector2, image_names, atlas_vector, atlas_labels, atlas_colors, custom=None, corr_type='pearson', atlas=None, subsample_every=None, remove_scripts=None, summary=False, width=1200)[source]
pybraincompare.compare.search module

search.py: part of pybraincompare package Generate search interfaces to compare images

calculate_similarity_search_df starts with pandas data frame to make similarity interface

pybraincompare.compare.search.create_glassbrain_portfolio(image_paths, all_tags, unique_tags, placeholders, values=None, button_urls=None, image_urls=None, top_text=None, bottom_text=None)[source]
Module contents
pybraincompare.mr package
Submodules
pybraincompare.mr.datasets module

datasets.py: part of pybraincompare package Return sets of images or atlas files

pybraincompare.mr.datasets.get_data_directory()[source]
pybraincompare.mr.datasets.get_mni_atlas(voxdims=['2', '8'], views=None)[source]
pybraincompare.mr.datasets.get_pair_images(voxdims=['2', '2'])[source]
pybraincompare.mr.datasets.get_standard_brain(voxdim=2)[source]
pybraincompare.mr.datasets.get_standard_mask(voxdim=2)[source]
pybraincompare.mr.transformation module

transformation.py: part of pybraincompare package Return transformations of images

pybraincompare.mr.transformation.make_resampled_transformation(nii_obj, resample_dim=[4, 4, 4], standard_mask=True)[source]
pybraincompare.mr.transformation.make_resampled_transformation_vector(nii_obj, resample_dim=[4, 4, 4], standard_mask=True)[source]
Module contents
pybraincompare.report package
Submodules
pybraincompare.report.animate module
pybraincompare.report.animate.animate_figure()[source]
pybraincompare.report.colors module

colors.py: part of pybraincompare package Color stuffs

pybraincompare.report.colors.get_colors(N, color_format='decimal')[source]
pybraincompare.report.colors.peterson_roi_labels(colors=True)[source]
pybraincompare.report.colors.random_colors(N)[source]
pybraincompare.report.histogram module

histogram.py: part of pybraincompare package Functions for histograms

pybraincompare.report.histogram.get_histogram_data(data, width=12, height=4, color=None, ylabel='frequency', xlabel='map intensity value bins', title='Histogram of Intensity Values for Image', bins=25, remove_zeros=True)[source]
pybraincompare.report.histogram.histogram_image(masked_data, remove_zero=False, title=None, line_value=None, xlabel=None, width=11, height=4, png_img_file=None, threshold=0.001)[source]
pybraincompare.report.histogram.plot_histogram(image, title='Image Histogram', height=400, width=1000, view_in_browser=True, bins=25, remove_zeros=True)[source]
pybraincompare.report.image module

image.py: part of pybraincompare package Functions for static images

pybraincompare.report.image.make_anat_image(nifti_file, png_img_file=None)[source]
pybraincompare.report.image.make_glassbrain_image(nifti_file, png_img_file=None)[source]
pybraincompare.report.image.make_roi_image(nifti_file, png_img_file=None)[source]
pybraincompare.report.image.make_stat_image(nifti_file, png_img_file=None)[source]
pybraincompare.report.image.plot_vline(cur_val, label, ax)[source]
pybraincompare.report.qa module

qa.py: part of pybraincompare package Functions to check quality of statistical maps

pybraincompare.report.qa.central_tendency(data)[source]
pybraincompare.report.qa.count_voxels(masked_in, masked_out)[source]
pybraincompare.report.qa.get_percent_nonzero(masked_in)[source]
pybraincompare.report.qa.get_voxel_range(nii_obj)[source]
pybraincompare.report.qa.header_metrics(image)[source]
pybraincompare.report.qa.is_only_positive(nii_obj)[source]
pybraincompare.report.qa.is_thresholded(nii_obj, brain_mask, threshold=0.95)[source]
pybraincompare.report.qa.outliers(masked_data, n_std=6)[source]
pybraincompare.report.qa.t_to_z(mr, dof)[source]
pybraincompare.report.webreport module

webreport.py: part of pybraincompare package Functions to generate reports using qa tools

pybraincompare.report.webreport.run_qa(mr_paths, html_dir, software='FSL', voxdim=[2, 2, 2], outlier_sds=6, investigator='brainman', nonzero_thresh=0.25, calculate_mean_image=True, view=True)[source]
Module contents
pybraincompare.template package
Submodules
pybraincompare.template.futils module
pybraincompare.template.futils.get_name(path)[source]
pybraincompare.template.futils.get_package_dir()[source]
pybraincompare.template.futils.make_dir(directory)[source]
pybraincompare.template.futils.make_png_paths(nifti_files)[source]
pybraincompare.template.futils.make_tmp_folder(*args, **kwds)[source]
pybraincompare.template.futils.unwrap_list_unique(list_of_lists)[source]
pybraincompare.template.futils.unzip(source, dest_dir)[source]
pybraincompare.template.templates module

templates.py: part of pybraincompare package Functions to work with html templates

pybraincompare.template.templates.add_javascript_function(function_code, template)[source]
pybraincompare.template.templates.add_string(svg, template)[source]
pybraincompare.template.templates.get_image(image_name)[source]
pybraincompare.template.templates.get_template(html_name, data_frame=None)[source]
pybraincompare.template.templates.read_template(html_name)[source]
pybraincompare.template.templates.remove_resources(html_snippet, script_names)[source]
pybraincompare.template.templates.save_template(html_snippet, output_file)[source]
pybraincompare.template.visual module

visual.py: part of pybraincompare package Functions to visualize in browser

pybraincompare.template.visual.get_svg_html(mpl_figures)[source]
pybraincompare.template.visual.internal_view(html_snippet, tmp_file)[source]
pybraincompare.template.visual.run_webserver(PORT=8000, html_page='index.html')[source]
pybraincompare.template.visual.view(html_snippet)[source]
Module contents
pybraincompare.testing package
Submodules
pybraincompare.testing.test_connectogram module
pybraincompare.testing.test_correlation module

Test regional and whole brain correlation scores

pybraincompare.testing.test_correlation.test_simulated_correlations()[source]
pybraincompare.testing.test_histogram module

Test histogram output

pybraincompare.testing.test_histogram.test_histogram_output()[source]
pybraincompare.testing.test_masking module

Test that pairwise deletion mask (intersection) returns expected values

pybraincompare.testing.test_masking.test_binary_deletion_mask()[source]
pybraincompare.testing.test_masking.test_binary_deletion_mask_values()[source]
pybraincompare.testing.test_masking.test_binary_deletion_vector()[source]
pybraincompare.testing.test_scatterplot_compare module

Test scatterplot compare output

pybraincompare.testing.test_scatterplot_compare.test_scatterplot_error_message()[source]
pybraincompare.testing.test_transformation module

Test transformation functions

pybraincompare.testing.test_transformation.test_masked_transformation()[source]
pybraincompare.testing.test_transformation.test_unmasked_transformation()[source]
Module contents
Module contents

Indices and tables