Move common code out of switch in ImProcFunctions::Median_Denoise()
- Move suggested by @heckflosse - Use switch/case - astyle `FTblockDN.cc` - Whitespace cleanups - Apply `median()` on `ffmanager.cc`
This commit is contained in:
parent
c0c82abb32
commit
7f66eb5ec4
File diff suppressed because it is too large
Load Diff
@ -20,14 +20,7 @@
|
|||||||
#include "../rtgui/options.h"
|
#include "../rtgui/options.h"
|
||||||
#include "rawimage.h"
|
#include "rawimage.h"
|
||||||
#include "imagedata.h"
|
#include "imagedata.h"
|
||||||
|
#include "median.h"
|
||||||
#define PIX_SORT(a,b) { if ((a)>(b)) {temp=(a);(a)=(b);(b)=temp;} }
|
|
||||||
#define med5(a0,a1,a2,a3,a4,median) { \
|
|
||||||
p[0]=a0; p[1]=a1; p[2]=a2; p[3]=a3; p[4]=a4; \
|
|
||||||
PIX_SORT(p[0],p[1]) ; PIX_SORT(p[3],p[4]) ; PIX_SORT(p[0],p[3]) ; \
|
|
||||||
PIX_SORT(p[1],p[4]) ; PIX_SORT(p[1],p[2]) ; PIX_SORT(p[2],p[3]) ; \
|
|
||||||
PIX_SORT(p[1],p[2]) ; median=p[2] ;}
|
|
||||||
|
|
||||||
|
|
||||||
namespace rtengine
|
namespace rtengine
|
||||||
{
|
{
|
||||||
@ -217,7 +210,6 @@ void ffInfo::updateRawImage()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (int i = 0; i < H; i++) {
|
for (int i = 0; i < H; i++) {
|
||||||
int p[5], temp;
|
|
||||||
int iprev = i < 2 ? i + 2 : i - 2;
|
int iprev = i < 2 ? i + 2 : i - 2;
|
||||||
int inext = i > H - 3 ? i - 2 : i + 2;
|
int inext = i > H - 3 ? i - 2 : i + 2;
|
||||||
|
|
||||||
@ -225,8 +217,7 @@ void ffInfo::updateRawImage()
|
|||||||
int jprev = j < 2 ? j + 2 : j - 2;
|
int jprev = j < 2 ? j + 2 : j - 2;
|
||||||
int jnext = j > W - 3 ? j - 2 : j + 2;
|
int jnext = j > W - 3 ? j - 2 : j + 2;
|
||||||
|
|
||||||
med5(ri->data[iprev][j], ri->data[i][jprev], ri->data[i][j],
|
cfatmp[i * W + j] = median(ri->data[iprev][j], ri->data[i][jprev], ri->data[i][j], ri->data[i][jnext], ri->data[inext][j]);
|
||||||
ri->data[i][jnext], ri->data[inext][j], cfatmp[i * W + j]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -185,12 +185,12 @@ class ImProcFunctions
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
enum class Median {
|
enum class Median {
|
||||||
SIZE_3X3_SOFT,
|
TYPE_3X3_SOFT,
|
||||||
SIZE_3X3_STRONG,
|
TYPE_3X3_STRONG,
|
||||||
SIZE_5X5_SOFT,
|
TYPE_5X5_SOFT,
|
||||||
SIZE_5X5_STRONG,
|
TYPE_5X5_STRONG,
|
||||||
SIZE_7X7,
|
TYPE_7X7,
|
||||||
SIZE_9X9
|
TYPE_9X9
|
||||||
};
|
};
|
||||||
|
|
||||||
double lumimul[3];
|
double lumimul[3];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user