firecrown.metadata_functions ============================ .. py:module:: firecrown.metadata_functions .. autoapi-nested-parse:: Two-point metadata functions module. This module contains functions used to manipulate two-point metadata, including extracting metadata from a sacc file and creating new metadata objects. Classes ------- .. autoapisummary:: firecrown.metadata_functions.TwoPointRealIndex firecrown.metadata_functions.TwoPointHarmonicIndex Functions --------- .. autoapisummary:: firecrown.metadata_functions.make_measurement firecrown.metadata_functions.make_measurements firecrown.metadata_functions.make_measurement_dict firecrown.metadata_functions.make_measurements_dict firecrown.metadata_functions.make_correlation_space firecrown.metadata_functions.extract_all_tracers_inferred_galaxy_zdists firecrown.metadata_functions.extract_all_measured_types firecrown.metadata_functions.extract_all_real_metadata_indices firecrown.metadata_functions.extract_all_harmonic_metadata_indices firecrown.metadata_functions.extract_all_harmonic_metadata firecrown.metadata_functions.extract_all_real_metadata firecrown.metadata_functions.extract_all_photoz_bin_combinations firecrown.metadata_functions.extract_window_function firecrown.metadata_functions.maybe_enforce_window firecrown.metadata_functions.make_all_photoz_bin_combinations firecrown.metadata_functions.make_all_photoz_bin_combinations_with_cmb firecrown.metadata_functions.make_cmb_galaxy_combinations_only firecrown.metadata_functions.match_name_type firecrown.metadata_functions.make_two_point_xy firecrown.metadata_functions.measurements_from_index Package Contents ---------------- .. py:class:: TwoPointRealIndex Bases: :py:obj:`TypedDict` .. autoapi-inheritance-diagram:: firecrown.metadata_functions.TwoPointRealIndex :parts: 1 Intermediate object for reading SACC real-space two-point data. Internal use only - not intended for direct user interaction. .. py:attribute:: data_type :type: str .. py:attribute:: tracer_names :type: firecrown.metadata_types.TracerNames .. py:class:: TwoPointHarmonicIndex Bases: :py:obj:`TypedDict` .. autoapi-inheritance-diagram:: firecrown.metadata_functions.TwoPointHarmonicIndex :parts: 1 Intermediate object for reading SACC harmonic-space two-point data. Internal use only - not intended for direct user interaction. .. py:attribute:: data_type :type: str .. py:attribute:: tracer_names :type: firecrown.metadata_types.TracerNames .. py:function:: make_measurement(value) Create a Measurement object from a dictionary. .. py:function:: make_measurements(value) Create a Measurement object from a dictionary. .. py:function:: make_measurement_dict(value) Create a dictionary from a Measurement object. :param value: the measurement to turn into a dictionary .. py:function:: make_measurements_dict(value) Create a dictionary from a Measurement object. :param value: the measurement to turn into a dictionary .. py:function:: make_correlation_space(value) Create a CorrelationSpace object from a string. .. py:function:: extract_all_tracers_inferred_galaxy_zdists(sacc_data, include_maybe_types=False) Extracts the two-point function metadata from a Sacc object. The Sacc object contains a set of tracers (one-dimensional bins) and data points (measurements of the correlation between two tracers). This function extracts the two-point function metadata from the Sacc object and returns it in a list. .. py:function:: extract_all_measured_types(sacc_data, include_maybe_types = False) Extracts the two-point function metadata from a Sacc object. The Sacc object contains a set of tracers (one-dimensional bins) and data points (measurements of the correlation between two tracers). This function extracts the two-point function metadata from the Sacc object and returns it in a list. .. py:function:: extract_all_real_metadata_indices(sacc_data, allowed_data_type = None) Extract all two-point function metadata from a sacc file. Extracts the two-point function measurement metadata for all measurements made in real space from a Sacc object. .. py:function:: extract_all_harmonic_metadata_indices(sacc_data, allowed_data_type = None) Extracts the two-point function metadata from a sacc file. .. py:function:: extract_all_harmonic_metadata(sacc_data, allowed_data_type = None, include_maybe_types=False) Extract the two-point function metadata and data from a sacc file. .. py:function:: extract_all_real_metadata(sacc_data, allowed_data_type = None, include_maybe_types=False) Extract the two-point function metadata and data from a sacc file. .. py:function:: extract_all_photoz_bin_combinations(sacc_data, include_maybe_types = False) Extracts the two-point function metadata from a sacc file. .. py:function:: extract_window_function(sacc_data, indices) Extract ells and weights for a window function. :params sacc_data: the Sacc object from which we read. :params indices: the indices of the data points in the Sacc object which are computed by the window function. :return: the ells and weights of the window function that match the given indices from a sacc object, or a tuple of (None, None) if the indices represent the measured Cells directly. .. py:function:: maybe_enforce_window(ells, indices, sacc_data) Possibly enforce a window function on the given ells. :param ells: The original ell values. :param indices: The indices of the data points in the SACC object. :param sacc_data: The SACC object containing the data. :return: A tuple containing the possibly replaced ells and the window weights. .. py:function:: make_all_photoz_bin_combinations(inferred_galaxy_zdists) Extract the two-point function metadata from a sacc file. .. py:function:: make_all_photoz_bin_combinations_with_cmb(inferred_galaxy_zdists, cmb_tracer_name = 'cmb_convergence', include_cmb_auto = False) Create all galaxy combinations plus mdt.CMB-galaxy cross-correlations. :param inferred_galaxy_zdists: List of galaxy redshift bins :param cmb_tracer_name: Name of the mdt.CMB tracer :param include_cmb_auto: Whether to include mdt.CMB auto-correlation (default: False) :return: List of all XY combinations including mdt.CMB-galaxy crosses .. py:function:: make_cmb_galaxy_combinations_only(inferred_galaxy_zdists, cmb_tracer_name = 'cmb_convergence') Create only mdt.CMB-galaxy cross-correlations. :param inferred_galaxy_zdists: List of galaxy redshift bins :param cmb_tracer_name: Name of the mdt.CMB tracer :return: List of mdt.CMB-galaxy cross-correlation XY combinations only .. py:function:: match_name_type(tracer1, tracer2, a, b, require_convention = False) Use the naming convention to assign the right measurement to each tracer. Given two tracer names and two measurements, this function inspects the tracer names against the lens, source, and CMB naming conventions to determine the correct pairing of names and measurements. The returned names and measurements may be reordered relative to the inputs so that the lens (or CMB) tracer always comes first. The function also returns a boolean indicating whether we are able to apply the naming convention to verify that the right type is associated with the right tracer name. If the function is able to determine that the tracer names and the measurement types are not compatible, then an exception is raised. If the tracer names follow the convention but the measurement types are not consistent with those name, then an exception is raised. If the tracer names follow the convention and the measurement types are consistent with those names and the association is not ambiguous, the boolean value is `True` and the names and measurements are returned in the order consistent with the convention. If none of the above applies, and if `require_convention` is `False`,, then the boolean value is `False` and the names and measurements are returned in the original order. If none of the above applies and if `require_convention` is `True`, then if the tracer names match the *same* convention, then the returned boolean value is `False`, and we return the tracer names and measurements in the original order. Otherwise, an exception is raised. :param tracer1: the name of the first tracer. :param tracer2: the name of the second tracer. :param a: the measurement associated with ``tracer1``. :param b: the measurement associated with ``tracer2``. :param require_convetion: if ``True``, raise a :class:`ValueError` when the tracer names do not match any recognised naming convention. :return: a tuple of (matched, tracer_name1, measurement1, tracer_name2, measurement2), where the names and measurements have been reordered to satisfy the naming convention when necessary, and *matched* indicates that an unambiguous association between names and measurement types has been made. .. py:function:: make_two_point_xy(inferred_galaxy_zdists_dict, tracer_names, data_type) Build a mdt.TwoPointXY object from the inferred galaxy z distributions. The mdt.TwoPointXY object is built from the inferred galaxy z distributions, the data type, and the tracer names. :param inferred_galaxy_zdists_dict: a dictionary of inferred galaxy z distributions. :param tracer_names: a tuple of tracer names. :param data_type: the data type. :return: a mdt.TwoPointXY object. .. py:function:: measurements_from_index(index) Return the tracer names and measurements from a two-point index. The tracer names and measurements are extracted from the index using the naming convention enforced by :func:`match_name_type`. The names and measurements are reordered to satisfy the convention when necessary. :param index: a two-point index containing tracer names and a data type. :return: a tuple of (tracer_name1, measurement1, tracer_name2, measurement2).