MEPP2 Project
Namespaces | Functions
just_noticeable_distortion.hpp File Reference
#include <time.h>
#include <boost/foreach.hpp>
#include "FEVV/Filters/Generic/Manifold/JustNoticeableDistortion/models/genericparametricmodel.h"
#include "FEVV/Filters/Generic/Manifold/JustNoticeableDistortion/models/contrastmasking.h"
#include "FEVV/Filters/Generic/Manifold/JustNoticeableDistortion/models/contrastsensitivity.h"
#include "FEVV/Filters/Generic/Manifold/JustNoticeableDistortion/models/psychometricfunction.h"
#include "FEVV/Filters/Generic/Manifold/JustNoticeableDistortion/models/threshold.h"
#include "FEVV/Filters/Generic/Manifold/JustNoticeableDistortion/models/types.h"
#include "FEVV/Filters/Generic/Manifold/JustNoticeableDistortion/models/visibility.h"
#include "FEVV/Filters/Generic/Manifold/JustNoticeableDistortion/perception/flatcontrastcomputor.h"
#include "FEVV/Filters/Generic/Manifold/JustNoticeableDistortion/perception/flatfrequencycomputor.hpp"
#include "FEVV/Filters/Generic/Manifold/JustNoticeableDistortion/utils/lightsampler.hpp"
#include "FEVV/Filters/Generic/AABB/compute_mesh_bounding_box.hpp"
Include dependency graph for just_noticeable_distortion.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 FEVV
 Interfaces for plugins These interfaces will be used for different plugins.
 
 FEVV::Filters
 

Functions

template<typename HalfedgeGraph , typename PointMap , typename GeometryTraits , typename FaceNormalMap , typename HalfEdge , typename CamType , typename LightType , typename DirType >
double FEVV::Filters::compute_visibility (const GeometryTraits &geom, const PointMap &point_map, const HalfedgeGraph &mesh, const FaceNormalMap &f_nm, const HalfEdge &halfedge, const DirType &displacement, const LightType &light, const CamType &cam, const ScreenParam &screen, const UserParam &user, const SceneParam &scene, const NWHWD16_Threshold &threshold, bool both_faces_move=true)
 Compute the visibility of the movement of an halfedge, given a light source and the displacement. More...
 
template<typename HalfedgeGraph , typename PointMap , typename GeometryTraits , typename FaceNormalMap , typename VertexType , typename CamType , typename LightType , typename DirType >
double FEVV::Filters::compute_threshold (const GeometryTraits &geom, const PointMap &point_map, const HalfedgeGraph &mesh, const FaceNormalMap &f_nm, const VertexType &vertex, const DirType &dir, const LightType &light, const CamType &cam, const ScreenParam &screen, const UserParam &user, const SceneParam &scene, const NWHWD16_Threshold &threshold, double max_displacement)
 Compute the JND value for a vertex, using a given light. More...
 
template<typename HalfedgeGraph , typename PointMap , typename VertexNormalMap , typename GeometryTraits = FEVV::Geometry_traits< HalfedgeGraph >, typename FaceNormalMap , typename JNDMap >
void FEVV::Filters::just_noticeable_distortion_filter (const HalfedgeGraph &halfedge_graph, PointMap &point_map, const VertexNormalMap &vertex_normal_map, const GeometryTraits &geometry_traits, const FaceNormalMap &face_normal_map, JNDMap &jnd_map, const ScreenParam &screen, const UserParam &user, const SceneParam &scene, const int nb_light_sources, bool data_output=false, bool use_random=true)
 Computes the Just Noticeable Distortion metric. More...
 
template<typename HalfedgeGraph , typename PointMap , typename VertexNormalMap , typename GeometryTraits = FEVV::Geometry_traits< HalfedgeGraph >, typename FaceNormalMap , typename JNDMap >
void FEVV::Filters::just_noticeable_distortion_filter (const HalfedgeGraph &g, PointMap &pm, const VertexNormalMap &v_nm, const FaceNormalMap &f_nm, JNDMap &jnd_m, const ScreenParam &screen, const UserParam &user, const SceneParam &scene, const int lights=128, bool data_output=false, bool use_random=true)
 Computes the Just Noticeable Distortion metric. More...