Skip to content
Snippets Groups Projects
Commit 8637322e authored by Provot Bertrand's avatar Provot Bertrand
Browse files

Merge branch 'dev2018' of github.com:eiimage/eiimage into dev2018

parents 622901cb f51b6ccf
No related branches found
No related tags found
No related merge requests found
......@@ -25,6 +25,7 @@
#include <Converter.h>
#include <Widgets/ImageWidgets/DoubleImageWindow.h>
#include <QApplication>
#include <Operation.h>
using namespace filtrme;
using namespace genericinterface;
......@@ -67,6 +68,8 @@ void FilteringService::applyFiltering()
return;
}
_dblResult = _filterChoice->doubleResult();
_scaling = _filterChoice->scalingResult();
_offset = _filterChoice->offsetResult();
Filtering* filtering = _filterChoice->getFiltering();
this->applyAlgorithm(filtering);
......@@ -95,11 +98,13 @@ void FilteringService::applyAlgorithm(Filtering* algo)
DoubleImageWindow* diw = dynamic_cast<DoubleImageWindow*>(_siw);
image = diw->getImage();
}
Image_t<double>* dblResImg = (*algo)(image);
ImageWindow* riw;
if(_siw->isStandard()) {
delete image;
}
if(_dblResult) {
DoubleImageWindow* diw = dynamic_cast<DoubleImageWindow*>(_siw);
if(diw != NULL) {
......@@ -110,11 +115,27 @@ void FilteringService::applyAlgorithm(Filtering* algo)
}
}
else {
std::string outputMessage = "";
Image* resImg;
Image_t<int>* intResImg = Converter<Image_t<int> >::convert(*dblResImg);
if(_scaling && _offset ){
resImg = Converter<Image>::ConvertScaleAndOffset(*intResImg, &outputMessage);
}
else if(_scaling){
resImg = Converter<Image>::ConvertAndScale(*intResImg, &outputMessage);
}
else if(_offset){
resImg = Converter<Image>::ConvertAndOffset(*intResImg, &outputMessage);
}
else{
resImg = Converter<Image>::convertAndRound(*dblResImg);
outputMessage = "Pas de conversion [min : 0, max : 255]";
}
delete dblResImg;
Image* resImg = Converter<Image>::makeDisplayable(*intResImg);
delete intResImg;
riw = new StandardImageWindow(resImg, _siw->getPath());
std::cout << outputMessage << std::endl;
}
riw->setWindowTitle(_siw->windowTitle() + " - " + _filterChoice->getFilterName());
emit newImageWindowCreated(_ws->getNodeId(_siw), riw);
......
......@@ -66,6 +66,8 @@ namespace filtrme
genericinterface::ImageWindow* _siw;
bool _dblResult;
bool _scaling;
bool _offset;
};
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment