** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: imagefile.cpp,v 1.30 2001/01/02 07:18:07 kevin Exp $
+** $Id: imagefile.cpp,v 1.32 2001/01/02 10:23:46 kevin Exp $
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License (version 2) as
ImageFileArray v = getArray();\r
SignalFilter filter (filterName, domainName, bw, filt_param);\r
\r
-#if 1\r
int iXCenter, iYCenter;\r
if (isEven (m_nx))\r
iXCenter = m_nx / 2;\r
double r = ::sqrt (static_cast<double>(lD2)) * dInputScale;\r
v[ix][iy] = filter.response (r) * dOutputScale;\r
}\r
-#else
- int hx = (m_nx - 1) / 2;
- int hy = (m_ny - 1) / 2;
-
- for (int i = -hx; i <= hx; i++) {
- for (int j = -hy; j <= hy; j++) {
- double r = ::sqrt (i * i + j * j);
-
- v[i+hx][j+hy] = filter.response (r);
- }
- }\r
-#endif
}
int
complexOut[ix] = new CTSimComplex [m_ny];\r
\r
// fourier each x column\r
-#if 1\r
CTSimComplex* pY = new CTSimComplex [m_ny];\r
for (ix = 0; ix < m_nx; ix++) {\r
for (iy = 0; iy < m_ny; iy++) {\r
double dImag = 0;\r
if (isComplex())\r
dImag = vLHSImag[ix][iy];\r
- pY[iy] = complex<double>(vLHS[ix][iy], dImag);\r
+ pY[iy] = std::complex<double>(vLHS[ix][iy], dImag);\r
} \r
ProcessSignal::finiteFourierTransform (pY, complexOut[ix], m_ny, ProcessSignal::FORWARD);\r
}\r
-#else\r
- double* pY = new double [m_ny];\r
- for (ix = 0; ix < m_nx; ix++) {\r
- for (iy = 0; iy < m_ny; iy++) {\r
- pY[iy] = vLHS[ix][iy];\r
- } \r
- ProcessSignal::finiteFourierTransform (pY, complexOut[ix], m_ny, ProcessSignal::FORWARD);\r
- }\r
-#endif\r
delete [] pY;\r
\r
// fourier each y row\r
rowp[p] = outval;
else {
int rowpos = p * 2;
- rowp[rowpos] = (outval >> 8) & 0xFF;
- rowp[rowpos+1] = (outval & 0xFF);
+ rowp[rowpos+1] = (outval >> 8) & 0xFF;
+ rowp[rowpos] = (outval & 0xFF);
}
}
}