Ocean
Loading...
Searching...
No Matches
InitializerRandomMappingI1.h
Go to the documentation of this file.
1/*
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 */
7
8#ifndef META_OCEAN_CV_SYNTHESIS_INITIALIZER_RANDOM_MAPPING_I_1_H
9#define META_OCEAN_CV_SYNTHESIS_INITIALIZER_RANDOM_MAPPING_I_1_H
10
17
18namespace Ocean
19{
20
21namespace CV
22{
23
24namespace Synthesis
25{
26
27/**
28 * This initializer creates a random initial mapping.<br>
29 * The initializer randomly selects target positions as long as they lie outside the synthesis mask.<br>
30 * No appearance constraints will be used to create the initial mapping.
31 * @ingroup cvsynthesis
32 */
33class OCEAN_CV_SYNTHESIS_EXPORT InitializerRandomMappingI1 :
34 virtual public InitializerI,
35 virtual public InitializerRandomized,
36 virtual public InitializerSubset,
37 virtual public Initializer1
38{
39 public:
40
41 /**
42 * Creates a new initializer object.
43 * @param layer The layer for that the initial mapping has to be provided
44 * @param randomGenerator Random generator object used to created random numbers during the initialization process
45 */
46 inline InitializerRandomMappingI1(LayerI1& layer, RandomGenerator& randomGenerator);
47
48 private:
49
50 /**
51 * Initializes a subset of the entire mapping area.
52 * @see InitializerSubset::initializeSubset().
53 * @see initializeSubsetChannels().
54 */
55 void initializeSubset(const unsigned int firstColumn, const unsigned int numberColumns, const unsigned int firstRow, const unsigned int numberRows) const override;
56};
57
59 Initializer(layer),
60 InitializerI(layer),
61 InitializerRandomized(layer, randomGenerator),
62 InitializerSubset(layer),
63 Initializer1(layer)
64{
65 // nothing to do here
66}
67
68}
69
70}
71
72}
73
74#endif // META_OCEAN_CV_SYNTHESIS_INITIALIZER_RANDOM_MAPPING_I_1_H
This class is the base class for all initializers that are provided for a single frame only.
Definition Initializer1.h:29
This class implements the base class for all synthesis initializers.
Definition Initializer.h:34
This class implements the base class for all initializer objects that are applied for mappings with i...
Definition InitializerI.h:30
This initializer creates a random initial mapping.
Definition InitializerRandomMappingI1.h:38
InitializerRandomMappingI1(LayerI1 &layer, RandomGenerator &randomGenerator)
Creates a new initializer object.
Definition InitializerRandomMappingI1.h:58
void initializeSubset(const unsigned int firstColumn, const unsigned int numberColumns, const unsigned int firstRow, const unsigned int numberRows) const override
Initializes a subset of the entire mapping area.
This class is the base class for all initializers that mainly initialize the synthesis mapping by a h...
Definition InitializerRandomized.h:30
This class is the base class for all initializer objects that can separate the initialization process...
Definition InitializerSubset.h:29
This class implements a single layer for pixel synthesis within one frame and pixel accuracy.
Definition LayerI1.h:41
This class implements a generator for random numbers.
Definition RandomGenerator.h:42
The namespace covering the entire Ocean framework.
Definition Accessor.h:15