"""DICOM MCP Server package.

Re-exports all public symbols so that ``import dicom_mcp`` continues to
provide the same top-level namespace as the original single-file module.
"""

# --- Server instance ---
from dicom_mcp.server import mcp  # noqa: F401

# --- Configuration ---
from dicom_mcp.config import MAX_FILES, PII_FILTER_ENABLED  # noqa: F401

# --- PII filtering ---
from dicom_mcp.pii import (  # noqa: F401
    PII_TAGS,
    PII_REDACTED_VALUE,
    is_pii_tag,
    redact_if_pii,
)

# --- Enums and constants ---
from dicom_mcp.constants import (  # noqa: F401
    ResponseFormat,
    SequenceType,
    COMMON_TAGS,
    VALID_TAG_GROUPS,
)

# --- Helper functions ---
from dicom_mcp.helpers import (  # noqa: F401
    _safe_get_tag,
    _format_tag_value,
    _resolve_tag,
    _validate_tag_groups,
    _format_markdown_table,
    _identify_sequence_type,
    _is_dixon_sequence,
    _get_dixon_image_types,
    _is_dicom_file,
    _find_dicom_files,
    _resolve_philips_private_tag,
    _list_philips_private_creators,
    _get_pixel_array,
    _extract_roi,
    _compute_stats,
    _apply_windowing,
    _parse_filter,
    _apply_filter,
    _build_tree_text,
    _build_tree_json,
    _format_tree_value,
)

# --- Tool functions (importing triggers @mcp.tool() registration) ---
from dicom_mcp.tools.discovery import (  # noqa: F401
    dicom_list_files,
    dicom_find_dixon_series,
)
from dicom_mcp.tools.metadata import (  # noqa: F401
    dicom_get_metadata,
    dicom_compare_headers,
)
from dicom_mcp.tools.validation import (  # noqa: F401
    dicom_validate_sequence,
    dicom_analyze_series,
)
from dicom_mcp.tools.query import (  # noqa: F401
    dicom_query,
    dicom_summarize_directory,
)
from dicom_mcp.tools.search import dicom_search  # noqa: F401
from dicom_mcp.tools.philips import dicom_query_philips_private  # noqa: F401
from dicom_mcp.tools.pixels import (  # noqa: F401
    dicom_read_pixels,
    dicom_compute_snr,
    dicom_render_image,
)
from dicom_mcp.tools.tree import dicom_dump_tree  # noqa: F401
from dicom_mcp.tools.uid_comparison import dicom_compare_uids  # noqa: F401
from dicom_mcp.tools.segmentation import dicom_verify_segmentations  # noqa: F401
from dicom_mcp.tools.ti_analysis import dicom_analyze_ti  # noqa: F401
