ForwardTransform interface works. Maybe to give filters a class?
This commit is contained in:
parent
765192e4e0
commit
68bd1d023b
@ -64,8 +64,8 @@ public:
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef void ControlSignature(WholeArrayIn<ScalarAll>, // sigIn
|
typedef void ControlSignature(WholeArrayIn<ScalarAll>, // sigIn
|
||||||
WholeArrayIn<vtkm::Float64>, // lowFilter
|
WholeArrayIn<Scalar>, // lowFilter
|
||||||
WholeArrayIn<vtkm::Float64>, // highFilter
|
WholeArrayIn<Scalar>, // highFilter
|
||||||
FieldOut<ScalarAll>); // cA in even indices,
|
FieldOut<ScalarAll>); // cA in even indices,
|
||||||
// cD in odd indices
|
// cD in odd indices
|
||||||
typedef void ExecutionSignature(_1, _2, _3, _4, WorkIndex);
|
typedef void ExecutionSignature(_1, _2, _3, _4, WorkIndex);
|
||||||
@ -93,14 +93,14 @@ public:
|
|||||||
OutputCoeffType &coeffOut,
|
OutputCoeffType &coeffOut,
|
||||||
const vtkm::Id &workIndex) const
|
const vtkm::Id &workIndex) const
|
||||||
{
|
{
|
||||||
vtkm::Float64 tmp = static_cast<vtkm::Float64>(signalIn.Get(workIndex));
|
vtkm::Float64 tmp = static_cast<vtkm::Float64>(signalIn.Get( workIndex ));
|
||||||
if( workIndex % 2 == 0 ) // calculate cA, approximate coeffs
|
if( workIndex % 2 == 0 ) // calculate cA, approximate coeffs
|
||||||
{
|
{
|
||||||
coeffOut = static_cast<OutputCoeffType>( tmp + lowFilter.Get(0) );
|
coeffOut = static_cast<OutputCoeffType>( tmp + lowFilter.Get( workIndex/2 ) );
|
||||||
}
|
}
|
||||||
else // calculate cD, detail coeffs
|
else // calculate cD, detail coeffs
|
||||||
{
|
{
|
||||||
coeffOut = static_cast<OutputCoeffType>( tmp + highFilter.Get(0) );
|
coeffOut = static_cast<OutputCoeffType>( tmp + highFilter.Get( (workIndex-1)/2 ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,11 +43,11 @@ void TestWavelets()
|
|||||||
|
|
||||||
// make two filter array handles
|
// make two filter array handles
|
||||||
vtkm::cont::ArrayHandle<vtkm::Float64> lowFilter =
|
vtkm::cont::ArrayHandle<vtkm::Float64> lowFilter =
|
||||||
// vtkm::cont::make_ArrayHandle(vtkm::worklet::internal::hm4_44, 9);
|
vtkm::cont::make_ArrayHandle(vtkm::worklet::internal::hm4_44, 9);
|
||||||
vtkm::cont::make_ArrayHandle( tmpVector );
|
// vtkm::cont::make_ArrayHandle( tmpVector );
|
||||||
vtkm::cont::ArrayHandle<vtkm::Float64> highFilter =
|
vtkm::cont::ArrayHandle<vtkm::Float64> highFilter =
|
||||||
// vtkm::cont::make_ArrayHandle(vtkm::worklet::internal::h4, 9);
|
vtkm::cont::make_ArrayHandle(vtkm::worklet::internal::h4, 9);
|
||||||
vtkm::cont::make_ArrayHandle( tmpVector );
|
// vtkm::cont::make_ArrayHandle( tmpVector );
|
||||||
|
|
||||||
|
|
||||||
vtkm::worklet::Wavelets::ForwardTransform forwardTransform;
|
vtkm::worklet::Wavelets::ForwardTransform forwardTransform;
|
||||||
@ -62,7 +62,9 @@ void TestWavelets()
|
|||||||
|
|
||||||
for (vtkm::Id i = 0; i < outputArray1.GetNumberOfValues(); ++i)
|
for (vtkm::Id i = 0; i < outputArray1.GetNumberOfValues(); ++i)
|
||||||
{
|
{
|
||||||
std::cout<< outputArray1.GetPortalConstControl().Get(i) << std::endl;
|
std::cout << outputArray1.GetPortalConstControl().Get(i) << ", ";
|
||||||
|
if( i % 2 != 0 )
|
||||||
|
std::cout << std::endl;
|
||||||
// << outputArray2.GetPortalConstControl().Get(i) << std::endl;
|
// << outputArray2.GetPortalConstControl().Get(i) << std::endl;
|
||||||
// VTKM_TEST_ASSERT(
|
// VTKM_TEST_ASSERT(
|
||||||
// test_equal( output1DArray.GetPortalConstControl().Get(i),
|
// test_equal( output1DArray.GetPortalConstControl().Get(i),
|
||||||
|
Loading…
Reference in New Issue
Block a user