39 return (addLuminanceNoise || addChrominanceBlueNoise || addChrominanceRedNoise);
45 bool photoDistribution =
false;
47 bool addLuminanceNoise =
true;
48 int lumaIntensity = 25;
49 int lumaShadows = -100;
51 int lumaHighlights = -100;
53 bool addChrominanceBlueNoise =
false;
54 int chromaBlueIntensity = 25;
55 int chromaBlueShadows = -100;
56 int chromaBlueMidtones = 0;
57 int chromaBlueHighlights = -100;
59 bool addChrominanceRedNoise =
false;
60 int chromaRedIntensity = 25;
61 int chromaRedShadows = -100;
62 int chromaRedMidtones = 0;
63 int chromaRedHighlights = -100;
82 int progressBegin = 0,
int progressEnd = 100,
89 return QLatin1String(
"digikam:FilmGrainFilter");
92 static QString DisplayableName();
96 return QList<int>() << 1;
104 void readParameters(
const FilterAction& action)
override;
108 return FilterIdentifier();
115 void filterImage()
override;
117 void filmgrainMultithreaded(uint start, uint stop);
119 inline void computeNoiseSettings(
const DColor& col,
120 double& luRange,
double& luNoise,
121 double& cbRange,
double& cbNoise,
122 double& crRange,
double& crNoise);
123 inline double interpolate(
int shadows,
int midtones,
int highlights,
const DColor& col);
124 inline double randomizeUniform(
double range);
125 inline double randomizeGauss(
double sigma);
126 inline double randomizePoisson(
double lambda);
127 inline void adjustYCbCr(
DColor& col,
double range,
double nRand,
int channel);
132 Private*
const d =
nullptr;
Definition dimgthreadedfilter.h:31
Definition filmgrainfilter.h:30
bool isDirty() const
Definition filmgrainfilter.h:37
~FilmGrainContainer()=default
FilmGrainContainer()=default
Definition filmgrainfilter.h:69
static QList< int > SupportedVersions()
Definition filmgrainfilter.h:94
static QString FilterIdentifier()
Definition filmgrainfilter.h:87
static int CurrentVersion()
Definition filmgrainfilter.h:99
QString filterIdentifier() const override
Definition filmgrainfilter.h:106
Definition filteraction.h:33
Definition datefolderview.cpp:34