Welcome to MetaPulsar’s documentation!

MetaPulsar is a multi-PTA pulsar timing data combination framework for gravitational wave detection. It provides tools for combining pulsar timing data from multiple PTA collaborations (EPTA, PPTA, NANOGrav, MPTA, etc.) into unified “metapulsar” objects.

Quick Start

from metapulsar import MetaPulsarFactory, FileDiscoveryService

# Discover files
discovery = FileDiscoveryService()
file_data = discovery.discover_all_files_in_ptas(["epta_dr2", "ppta_dr2"])

# Create MetaPulsar
factory = MetaPulsarFactory()
metapulsar = factory.create_metapulsar(
    file_data,
    combination_strategy="composite"
)

Features

  • Multi-PTA Support: Combine data from EPTA, PPTA, NANOGrav, MPTA, and more

  • Flexible Strategies: Choose between composite and consistent combination strategies

  • Enterprise Integration: Seamless integration with the Enterprise framework

  • Parameter Management: Handle parameter consistency across different PTAs

  • Custom PTAs: Add your own PTA configurations easily

Examples

Check out the examples/ directory for comprehensive tutorials and usage examples:

  • basic_workflow.py - Complete workflow from file discovery to MetaPulsar creation

  • parameter_management.py - ParameterManager usage and strategies

  • custom_pta_configuration.py - Adding custom PTA configurations

  • enterprise_integration.py - Integration with Enterprise framework

Interactive Tutorials

Interactive Jupyter notebooks are available in examples/notebooks/:

  • 01_basic_usage.ipynb - Basic workflow tutorial

  • 02_parameter_management.ipynb - Parameter management tutorial

  • 03_custom_pta_configuration.ipynb - Custom PTA configuration tutorial

  • 04_enterprise_integration.ipynb - Enterprise integration tutorial

  • 04_advanced_workflows.ipynb - Advanced workflows and best practices

Indices and tables