STIR  6.2.0
IR_filters.h
Go to the documentation of this file.
1 //
2 //
3 /*
4  Copyright (C) 2005- 2009, Hammersmith Imanet Ltd
5  This file is part of STIR.
6 
7  SPDX-License-Identifier: Apache-2.0
8 
9  See STIR/LICENSE.txt for details
10 */
21 #include "stir/shared_ptr.h"
22 #include <vector>
23 #include <iostream>
24 #include <cmath>
25 
26 START_NAMESPACE_STIR
27 
28 /*\ingroup numerics
29  \brief IIR filter
30 */
31 template <class RandIter1, class RandIter2, class RandIter3, class RandIter4>
32 void inline IIR_filter(RandIter1 output_begin_iterator,
33  RandIter1 output_end_iterator,
34  const RandIter2 input_begin_iterator,
35  const RandIter2 input_end_iterator,
36  const RandIter3 input_factor_begin_iterator,
37  const RandIter3 input_factor_end_iterator,
38  const RandIter4 pole_begin_iterator,
39  const RandIter4 pole_end_iterator,
40  const bool if_initial_exists);
41 
42 /*\ingroup numerics
43  \brief IIR filter
44 */
45 template <class RandIter1, class RandIter2, class RandIter3>
46 void inline FIR_filter(RandIter1 output_begin_iterator,
47  RandIter1 output_end_iterator,
48  const RandIter2 input_begin_iterator,
49  const RandIter2 input_end_iterator,
50  const RandIter3 input_factor_begin_iterator,
51  const RandIter3 input_factor_end_iterator,
52  const bool if_initial_exists);
53 END_NAMESPACE_STIR
54 
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast (or corresponding b...
implements the IR_filters