Defines a class that constructs a flux likelihood object. More...

#include "likelihood/likelihood_matched_filter.h"

Inheritance diagram for likelihood_matched_filter:
Collaboration diagram for likelihood_matched_filter:

Public Member Functions

 likelihood_matched_filter (double lreg, double treg, double I_clip, std::string image_fname, std::string READ_fname, std::string image_type)
 
virtual double operator() (std::vector< double > &x)
 Returns the log-likelihood of a vector of parameters \( \mathbf{x} \).
 
virtual double chi_squared (std::vector< double > &x)
 Returns the \( \chi^2 \) of a vector of parameters \( \mathbf{x} \).
 
virtual void set_mpi_communicator (MPI_Comm comm)
 Defines a set of processors provided to the model for parallel computation via an MPI communicator. Only facilates code parallelization if the model computation is parallelized via MPI.
 
- Public Member Functions inherited from likelihood_base
virtual std::vector< double > gradient (std::vector< double > &x, prior &Pr)
 
void output_model_data_comparison (std::ostream &out)
 
void output_model_data_comparison (std::string filename)
 

Protected Member Functions

virtual void output (std::ostream &out)
 

Private Member Functions

std::vector< std::vector< double > > gaussian_ring_model (std::vector< double > parameters)
 Finds the intensity (normalized so total flux is unity) of a Gaussian ring according to the images alpha and beta.
 
void GRMHD_read (std::string image_fname, std::string README_fname)
 
void test_read ()
 
void SMILI_read (std::string image_fname, std::string README_fname)
 
void hpu_read (std::string image_fname)
 
double find_min_distance_square (double a, double b, double x, double y, double eps=1e-8, int nmax=20)
 

Private Attributes

const double _lreg
 multiplicative factor in front of the log likelihood that controls the the specificity of the likelihood. Often lreg=1 fails to properly contrain the fit.
 
const double _treg
 
const double _I_clip
 
std::vector< std::vector< double > > _alpha
 
std::vector< std::vector< double > > _beta
 
std::vector< std::vector< double > > _I
 

Additional Inherited Members

- Protected Attributes inherited from likelihood_base
MPI_Comm _comm
 

Detailed Description

Does matched filtering with a slashed Gaussian elliptical ring to extract widths position and diameters. -parameter list: parameter[0] = semi-major axis diameter in uas parameter[1] = ring width (FWHM of ring) in uas parameter[2] = ring eccentricity (-1 to 1) in uas parameter[3] = rotation angle measured from north of east (must go from 0 to 2*pi due to the branch cut I picked) parameter[4] = ring slash [0,1], where 0 is no slash and 1 means brightness drops to zero. parameter[5] = x ring center in uas parameter[6] = y ring center in uas

Member Function Documentation

void output ( std::ostream &  out)
protectedvirtual

Outputs the data and model, as modified by the likelihood appropriately, to the specified output stream. Useful for comparison later.

Reimplemented from likelihood_base.


The documentation for this class was generated from the following files: