Implement Butterworth filters

This commit is contained in:
2026-09-22 15:10:24 +02:00
parent b177ea5a38
commit 048ff5c792
9 changed files with 110 additions and 62 deletions

View File

@@ -50,6 +50,11 @@ public class NavPresenter {
navigator.showFiltering();
}
public void gotToButterworth() {
navigator.showButterworth();
}
public GrayScaleMatrix getImageGrayMatrix() {
return appState.getImage().toGrayScale();
}
@@ -57,4 +62,5 @@ public class NavPresenter {
public void setMode(Mode mode) {
modeService.setMode(mode);
}
}

View File

@@ -41,15 +41,15 @@ public class FilteringPresenter implements FilteringListener {
state.setHighPass(image);
}
public void computeButterworthLowPassFiltering(float percentage) {
public void computeButterworthLowPassFiltering(float percentage, int order) {
GrayScaleMatrix matrix = imageService.getGrayScale(appState.getImage());
Image image = filteringService.butterworthLowPassFiltering(matrix, percentage / 100);
Image image = filteringService.butterworthLowPassFiltering(matrix, percentage / 100, order);
state.setButterworthLowPass(image);
}
public void computeButterworthHighPassFiltering(float percentage) {
public void computeButterworthHighPassFiltering(float percentage, int order) {
GrayScaleMatrix matrix = imageService.getGrayScale(appState.getImage());
Image image = filteringService.butterworthHighPassFiltering(matrix, percentage / 100);
Image image = filteringService.butterworthHighPassFiltering(matrix, percentage / 100, order);
state.setButterworthHighPass(image);
}