Add basic and complex morphologies

This commit is contained in:
2026-09-28 17:27:34 +02:00
parent 11aceb1f67
commit 9fcc48ecf5
13 changed files with 700 additions and 32 deletions

View File

@@ -2,11 +2,13 @@ package app;
import com.google.inject.Inject;
import com.google.inject.Provider;
import ui.abstractions.AbstractView;
import ui.implementation.views.DoubleMatrix;
import ui.implementation.views.fitering.global.IdealFilteringView;
import ui.implementation.views.fitering.global.NonIdealFilteringView;
import ui.implementation.views.ViewInitializer;
import ui.implementation.views.fitering.local.LocalFilteringView;
import ui.implementation.views.morphology.BasicMorphologyView;
/**
* Concrete implement of the INavigator interface.
@@ -19,46 +21,55 @@ public class SwingNavigator implements INavigator {
private final Provider<IdealFilteringView> filteringProvider;
private final Provider<NonIdealFilteringView> nonIdealFilteringProvider;
private final Provider<LocalFilteringView> convolutionFilteringProvider;
private final Provider<BasicMorphologyView> basicMorphologyProvider;
@Inject
public SwingNavigator(
Provider<DoubleMatrix> doubleMatrixProvider,
Provider<IdealFilteringView> filteringProvider,
Provider<NonIdealFilteringView> nonIdealFilteringProvider,
Provider<LocalFilteringView> convolutionFilterProvider
Provider<LocalFilteringView> convolutionFilterProvider,
Provider<BasicMorphologyView> basicMorphologyProvider
) {
this.doubleMatrixProvider = doubleMatrixProvider;
this.filteringProvider = filteringProvider;
this.nonIdealFilteringProvider = nonIdealFilteringProvider;
this.convolutionFilteringProvider = convolutionFilterProvider;
this.basicMorphologyProvider = basicMorphologyProvider;
}
@Override
public void showFourier() {
DoubleMatrix view = doubleMatrixProvider.get();
ViewInitializer.Initialize(view);
view.setVisible(true);
runView(view);
}
@Override
public void showIdealFiltering() {
IdealFilteringView view = filteringProvider.get();
ViewInitializer.Initialize(view);
view.setVisible(true);
runView(view);
}
@Override
public void showButterworth() {
NonIdealFilteringView view = nonIdealFilteringProvider.get();
ViewInitializer.Initialize(view);
view.setVisible(true);
runView(view);
}
@Override
public void showConvolutionFiltering() {
LocalFilteringView view = convolutionFilteringProvider.get();
runView(view);
}
@Override
public void showBasicMorphology() {
BasicMorphologyView view = basicMorphologyProvider.get();
runView(view);
}
private void runView(AbstractView view) {
ViewInitializer.Initialize(view);
view.setVisible(true);
}
}