8 #include "art/Utilities/ToolMacros.h"
9 #include "art/Utilities/make_tool.h"
10 #include "art_root_io/TFileService.h"
11 #include "messagefacility/MessageLogger/MessageLogger.h"
12 #include "cetlib_except/exception.h"
13 #include "cetlib/cpu_timer.h"
16 #include "icarus_signal_processing/WaveformTools.h"
17 #include "icarus_signal_processing/Denoising.h"
18 #include "icarus_signal_processing/ROIFinder2D.h"
37 void configure(
const fhicl::ParameterSet& pset)
override;
84 std::unique_ptr<icarus_signal_processing::IROIFinder2D>
fROIFinder2D;
123 fADFilter_SX = pset.get<
unsigned int >(
"ADFilter_SX", 7);
124 fADFilter_SY = pset.get<
unsigned int >(
"ADFilter_SY", 7);
125 fSigma_x = pset.get<
float >(
"Sigma_x", 10.0);
126 fSigma_y = pset.get<
float >(
"Sigma_y", 10.0);
127 fSigma_r = pset.get<
float >(
"Sigma_r", 30.0);
135 fBilateralFilters = std::make_unique<icarus_signal_processing::BilateralFilters>();
136 fEdgeDetection = std::make_unique<icarus_signal_processing::EdgeDetection>();
138 fROIFinder2D = std::make_unique<icarus_signal_processing::ROICannyFilter>(fButterworthFilter.get(),
140 fBilateralFilters.get(),
141 fEdgeDetection.get(),
152 fGeometry = art::ServiceHandle<geo::Geometry const>{}.get();
159 cet::cpu_timer theClockTotal;
161 theClockTotal.start();
163 std::cout <<
" --> calling icarus_signal_processing canny edge finder" << std::endl;
166 (*fROIFinder2D)(inputImage,
output,outputROIs);
168 std::cout <<
" --> have returned from canny" << std::endl;
170 theClockTotal.stop();
172 double totalTime = theClockTotal.accumulated_real_time();
174 mf::LogInfo(
"TPCNoiseFilterCannyMC") <<
" *totalTime: " << totalTime << std::endl;
176 std::cout <<
"--> ROICannyEdgeDetection finished!" << std::endl;
177 std::cout <<
" - Total time: " << totalTime << std::endl;
The data type to uniquely identify a Plane.
The geometry of one entire detector, as served by art.
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsOppositeWindows END_PROLOG simSlidingORM6O6 effSlidingORW output
This provides an interface for tools which are tasked with finding ROI's in input waveforms...
art framework interface to geometry description
BEGIN_PROLOG could also be cout