Closed phcerdan closed 6 years ago
Another check should be on BondaryConditions in the border.
Nah, nothing to worry. It was related to the phase analysis. We shouldn't apply phase analysis in the approx image, as Held originally pointed out.
for ( unsigned int i = 0; i < forwardWavelet->GetNumberOfOutputs(); ++i )
{
std::cout << "Output #: " << i << " / " << numberOfOutputs - 1 << std::endl;
/// HERE
if( i == numberOfOutputs - 1 ) // Held does not modify approx image, but it does not generate better results.
{
modifiedWavelets.push_back( analysisWavelets[i] );
continue;
}
auto monoFilter = MonogenicSignalFrequencyFilterType::New();
auto vecInverseFFT = VectorInverseFFTType::New();
auto phaseAnalyzer = PhaseAnalysisFilter::New();
auto fftForwardPhaseFilter = FFTForwardFilterType::New();
// Generate a monogenic signal (vector valued)
monoFilter->SetInput( analysisWavelets[i] );
monoFilter->Update();
vecInverseFFT->SetInput( monoFilter->GetOutput() );
vecInverseFFT->Update();
phaseAnalyzer->SetInput( vecInverseFFT->GetOutput() );
phaseAnalyzer->SetApplySoftThreshold( applySoftThreshold );
if (applySoftThreshold)
{
phaseAnalyzer->SetNumOfSigmas(thresholdNumOfSigmas);
}
phaseAnalyzer->Update();
fftForwardPhaseFilter->SetInput( phaseAnalyzer->GetOutputCosPhase() );
fftForwardPhaseFilter->Update();
modifiedWavelets.push_back( fftForwardPhaseFilter->GetOutput() );
modifiedWavelets.back()->DisconnectPipeline();
}
CarrKbin1_1792_4x4x1_tile_1.nrrd.tar.gz
imageInfo:
Applying script (with any l or b, or applying soft threshold or not)
Original:
Inner:
Border: