source: GTP/trunk/Lib/Vis/Preprocessing/src/DifferenceSampling.h @ 2546

Revision 2546, 1.4 KB checked in by mattausch, 17 years ago (diff)

added new sampling strategies

Line 
1#ifndef _DifferenceSampling_H__
2#define _DifferenceSampling_H__
3
4#include <vector>
5//
6
7#include "common.h"
8#include "Halton.h"
9
10namespace GtpVisibilityPreprocessor {
11
12
13
14/** This sampling strategy utilizes the spatial filter to find
15        areas that are likely to be visible.
16
17        First the filter is applied. The difference set of objects (filtered pvs - unfiltered pvs) gives you the objects
18        which are not found visible yet but have a good probability that they are in fact visible, based on the current
19        state of the sampling and the size of the filter. In fact the difference set is a probably visible set.
20   
21        Idea:
22        We apply the filter for n times, each time with a higher filter radius. The difference set gives you the probable visible set.
23        Then we use a certain #random samples for sampling the view cell border + the object border.
24        We can use different filter sizes to estimate the probablility distribution. The objects shouldreceived samples
25        roughly according to their probability of becoming invisible.
26*/     
27class DifferenceSampling: public SamplingStrategy
28{
29public:
30        DifferenceSampling(Preprocessor &preprocessor);
31        /** Compute the difference set between filtered and unfiltered pvs.
32        */
33        void ComputeDifferenceSet(ViewCell *vc, ObjectContainer &differenceSet);
34
35private:
36
37  virtual bool GenerateSample(SimpleRay &ray);
38 
39};
40
41
42}
43
44#endif
45
Note: See TracBrowser for help on using the repository browser.