55#include "ramCanvas.hpp"
56#include "MRMathIVL.hpp"
60 std::chrono::time_point<std::chrono::system_clock> startTime = std::chrono::system_clock::now();
61 mjr::ramCanvas1c16b escDatRC(1024, 1024, -2.2, 0.8, -1.5, 1.5);
65 escDatRC.colorizeFltCanvas([](
decltype(escDatRC)::coordFltType x,
decltype(escDatRC)::coordFltType y) {
66 std::complex<
decltype(escDatRC)::coordFltType> z(0.0, 0.0), c(x, y);
67 decltype(escDatRC)::colorChanType count = 0;
68 while ((std::abs(z)<2) && (count<256)) { z = z * z + c; count++; }
69 return decltype(escDatRC)::colorType((count >= 255 ? 0 : count));
76 typedef mjr::color3c8b oc_t;
77 typedef mjr::ramCanvasPixelFilter::FuncHomoTransform<
decltype(escDatRC), oc_t> hpf_t;
80 escDatRC.writeTIFFfile(
"demo_data_and_filter_01.tiff", hpf_t(escDatRC,[](
auto inColor) {
return oc_t(
static_cast<oc_t::channelType
>(inColor.getC0())); }));
83 escDatRC.writeTIFFfile(
"demo_data_and_filter_02.tiff", hpf_t(escDatRC,[](
auto inColor) {
return oc_t::csCColdeFireRamp::c(inColor.getC0()*oc_t::csCColdeFireRamp::numC/255); }));
86 escDatRC.writeTIFFfile(
"demo_data_and_filter_03.tiff", hpf_t(escDatRC,[](
auto inColor) {
return oc_t::csCColdeFireRamp::c(30*inColor.getC0()); }));
90 std::chrono::duration<double> runTime = std::chrono::system_clock::now() - startTime;
91 std::cout <<
"Total Runtime " << runTime.count() <<
" sec" << std::endl;
int main(int argc, char *argv[])