PURIFY
Next-generation radio interferometric imaging
Namespaces | Enumerations | Functions
distribute.h File Reference
#include "purify/config.h"
#include <iostream>
#include <stdio.h>
#include <string>
#include "purify/types.h"
#include "purify/logging.h"
#include "purify/uvw_utilities.h"
+ Include dependency graph for distribute.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 purify
 
 purify::distribute
 

Enumerations

enum class  purify::distribute::plan { purify::distribute::none , purify::distribute::equal , purify::distribute::radial , purify::distribute::w_term }
 

Functions

std::vector< t_int > purify::distribute::distribute_measurements (Vector< t_real > const &u, Vector< t_real > const &v, Vector< t_real > const &w, t_int const number_of_nodes, distribute::plan const distribution_plan=plan::equal, t_int const &grid_size=128)
 Distribute visiblities into groups. More...
 
std::tuple< std::vector< t_int >, std::vector< t_real > > purify::distribute::kmeans_algo (const Vector< t_real > &w, const t_int number_of_nodes, const t_int iters, const std::function< t_real(t_real)> &cost=[](t_real x) { return x *x;}, const t_real rel_diff=1e-3)
 patition w terms using k-means More...
 
Vector< t_int > purify::distribute::w_distribution (Vector< t_real > const &u, const Vector< t_real > &v, const Vector< t_real > &w)
 Distribute visibilities into nodes in order of w terms (useful for w-stacking) More...
 
Vector< t_int > purify::distribute::w_distribution (Vector< t_real > const &w)
 
Vector< t_int > purify::distribute::distance_distribution (Vector< t_real > const &u, Vector< t_real > const &v)
 Distribute visiblities into nodes in order of distance from the centre. More...
 
Vector< t_int > purify::distribute::equal_distribution (Vector< t_real > const &u, Vector< t_real > const &v, t_int const &grid_size)
 Distribute the visiblities into nodes in order of density. More...