Skip to content
Snippets Groups Projects
Commit 3c81e89e authored by ariotte's avatar ariotte
Browse files

Display multi image on multi filter

parent b3391bd0
No related branches found
No related tags found
No related merge requests found
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include "FilteringService.h" #include "FilteringService.h"
#include <QMdiArea> #include <QMdiArea>
#include <Qstring>
#include <GenericInterface.h> #include <GenericInterface.h>
#include <Converter.h> #include <Converter.h>
...@@ -100,44 +101,50 @@ void FilteringService::applyAlgorithm(Filtering* algo) ...@@ -100,44 +101,50 @@ void FilteringService::applyAlgorithm(Filtering* algo)
} }
Image_t<double>* dblResImg = (*algo)(image); Image_t<double>* dblResImg = (*algo)(image);
unsigned char i = 0;
ImageWindow* riw; ImageWindow* riw;
if(_siw->isStandard()) { if(_siw->isStandard()) {
delete image; delete image;
} }
do{
if(_dblResult) { if(_dblResult) {
DoubleImageWindow* diw = dynamic_cast<DoubleImageWindow*>(_siw); DoubleImageWindow* diw = dynamic_cast<DoubleImageWindow*>(_siw);
if(diw != NULL) { if(diw != NULL) {
riw = new DoubleImageWindow(dblResImg, _siw->getPath(), diw->isNormalized(), diw->isLogScaled()); riw = new DoubleImageWindow(dblResImg, _siw->getPath(), diw->isNormalized(), diw->isLogScaled());
}
else {
riw = new DoubleImageWindow(dblResImg, _siw->getPath(), true);
}
} }
else { else {
riw = new DoubleImageWindow(dblResImg, _siw->getPath(), true); std::string outputMessage = "";
} Image* resImg;
} Image_t<int>* intResImg = Converter<Image_t<int> >::convert(*dblResImg);
else { if(_scaling && _offset ){
std::string outputMessage = "";
Image* resImg; resImg = Converter<Image>::convertScaleAndOffset(*intResImg, &outputMessage);
Image_t<int>* intResImg = Converter<Image_t<int> >::convert(*dblResImg); }
if(_scaling && _offset ){ else if(_scaling){
resImg = Converter<Image>::convertAndScale(*intResImg, &outputMessage);
resImg = Converter<Image>::convertScaleAndOffset(*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]";
}
riw = new StandardImageWindow(resImg, _siw->getPath());
_ws->addText(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]";
} if(i == 0) riw->setWindowTitle(_siw->windowTitle() + " - " + _filterChoice->getFilterName() + " Result ");
delete dblResImg; else riw->setWindowTitle(_siw->windowTitle() + " - " + _filterChoice->getFilterName() + " " + i);
riw = new StandardImageWindow(resImg, _siw->getPath());
_ws->addText(outputMessage); emit newImageWindowCreated(_ws->getNodeId(_siw), riw);
} i++;
riw->setWindowTitle(_siw->windowTitle() + " - " + _filterChoice->getFilterName()); dblResImg = algo->getInterImg();
emit newImageWindowCreated(_ws->getNodeId(_siw), riw); }while(dblResImg != NULL);
} }
} }
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