From d51c597aab5fc4d59ab431383c42a72e6356797e Mon Sep 17 00:00:00 2001 From: yliu2 <liuyu2209@gmail.com> Date: Wed, 16 Sep 2020 16:37:57 +0200 Subject: [PATCH] Update pixel operations, the error in offset has been fixed --- app/CMakeLists.txt | 4 +- app/Operations/ColorimetryOp.cpp | 4 +- app/Operations/DCTDialog.ui | 2 +- app/Operations/HistogramOp.cpp | 10 +- app/Operations/HistogramOp.h | 2 +- app/Operations/MyQLineEdit.h | 4 +- app/Operations/PointOp.cpp | 10 +- app/Operations/PointOp.h | 29 +- app/Operations/QuantificationDialog.cpp | 2 +- app/Operations/ScalingOp.cpp | 4 +- app/Operations/SplitHsvOp.cpp | 6 +- app/imageinsa_en.qm | Bin 47341 -> 47499 bytes app/imageinsa_en.ts | 1253 +++++++--------------- app/imageinsa_fr.qm | Bin 49985 -> 52494 bytes app/imageinsa_fr.ts | 1255 +++++++---------------- app/main.cpp | 2 +- lib/detiq-t | 2 +- 17 files changed, 738 insertions(+), 1851 deletions(-) diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index 58b224e..8613d59 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -200,9 +200,9 @@ qt5_add_resources(RCC_FILES "imageinsa_app_res.qrc") set(TS_FILES imageinsa_en.ts imageinsa_fr.ts) # Uncomment only 1 of the 2 folowing commands, depending on your needs # -1- Use current translations files -qt5_add_translation(QM_FILES ${TS_FILES}) +#qt5_add_translation(QM_FILES ${TS_FILES}) # -2- Update translations files with changes from c++ sources -#qt5_create_translation(QM_FILES ${imageinsa_SOURCES} ${UIS} ${TS_FILES}) +qt5_create_translation(QM_FILES ${imageinsa_SOURCES} ${UIS} ${TS_FILES}) # -3- Update translations files with changes from c++ sources AND drop useless translations #qt5_create_translation(QM_FILES ${imageinsa_SOURCES} ${UIS} ${TS_FILES} OPTIONS -no-obsolete) diff --git a/app/Operations/ColorimetryOp.cpp b/app/Operations/ColorimetryOp.cpp index bfa4c26..9857363 100644 --- a/app/Operations/ColorimetryOp.cpp +++ b/app/Operations/ColorimetryOp.cpp @@ -32,7 +32,7 @@ #include "ColorDialog.h" using namespace imagein; -ColorimetryOp::ColorimetryOp() : Operation(qApp->translate("Operations", "Generate RGB image").toStdString()) +ColorimetryOp::ColorimetryOp() : Operation(qApp->translate("Operations", "Generate RGB/HSV image").toStdString()) { } @@ -43,7 +43,7 @@ bool ColorimetryOp::needCurrentImg() const { void ColorimetryOp::operator()(const imagein::Image*, const std::map<const imagein::Image*, std::string>&) { ColorDialog* dialog = new ColorDialog(QApplication::activeWindow()); - dialog->setWindowTitle(QString(qApp->translate("Operations", "RGB image generator"))); + dialog->setWindowTitle(QString(qApp->translate("Operations", "RGB/HSV image generator"))); QDialog::DialogCode code = static_cast<QDialog::DialogCode>(dialog->exec()); QColor color = dialog->getColor(); diff --git a/app/Operations/DCTDialog.ui b/app/Operations/DCTDialog.ui index d5ccc01..93ccf6b 100644 --- a/app/Operations/DCTDialog.ui +++ b/app/Operations/DCTDialog.ui @@ -67,7 +67,7 @@ <item> <widget class="QSpinBox" name="truncLimitBox"> <property name="maximum"> - <number>16</number> + <number>15</number> </property> </widget> </item> diff --git a/app/Operations/HistogramOp.cpp b/app/Operations/HistogramOp.cpp index dd31112..da61e9d 100644 --- a/app/Operations/HistogramOp.cpp +++ b/app/Operations/HistogramOp.cpp @@ -47,7 +47,7 @@ void HistogramOp::operator()(const imagein::Image* img, const std::map<const ima QComboBox* opBox = new QComboBox(); opBox->addItem(qApp->translate("HistogramOp", "Equalize")); - opBox->addItem(qApp->translate("HistogramOp", "Normalize")); + opBox->addItem(qApp->translate("HistogramOp", "Linear stretching")); layout->insertRow(0, qApp->translate("HistogramOp", "Operation : "), opBox); QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel, Qt::Horizontal, dialog); @@ -61,11 +61,11 @@ void HistogramOp::operator()(const imagein::Image* img, const std::map<const ima if(opBox->currentIndex()==0) { Image* resImg = equalize(img); - outImage(resImg, qApp->translate("HistogramOp", "equalized").toStdString()); + outImage(resImg, qApp->translate("HistogramOp", "Equalized").toStdString()); } else if(opBox->currentIndex()==1) { - Image* resImg = normalize(img); - outImage(resImg, qApp->translate("HistogramOp", "normalized").toStdString()); + Image* resImg = linearStretching(img); + outImage(resImg, qApp->translate("HistogramOp", "Linear stretched").toStdString()); } } @@ -93,7 +93,7 @@ Image* HistogramOp::equalize( const Image *img ) { -Image *HistogramOp::normalize( const Image *img ) { +Image *HistogramOp::linearStretching( const Image *img ) { Image* resImg = new Image(*img); for(unsigned int c = 0; c < img->getNbChannels(); ++c) { diff --git a/app/Operations/HistogramOp.h b/app/Operations/HistogramOp.h index 675e697..d8ab224 100644 --- a/app/Operations/HistogramOp.h +++ b/app/Operations/HistogramOp.h @@ -33,7 +33,7 @@ public: protected: static imagein::Image* equalize( const imagein::Image *to_equalize ); - static imagein::Image* normalize( const imagein::Image *to_normalize ); + static imagein::Image* linearStretching( const imagein::Image *to_normalize ); }; #endif // HISTOGRAMOP_H diff --git a/app/Operations/MyQLineEdit.h b/app/Operations/MyQLineEdit.h index 4d1c2a6..92f708f 100644 --- a/app/Operations/MyQLineEdit.h +++ b/app/Operations/MyQLineEdit.h @@ -36,8 +36,10 @@ class MyQLineEdit : public QLineEdit { public slots: void updateValidator(const QString &text){ + /*Allow only 0 and 1 as input*/ QRegExp regLogicalExp("^[1]d*|0$"); - QRegExp regShiftExp("^[1-7]d*|0$"); + /*Allow positive integer as input*/ + QRegExp regShiftExp("^\\d+$"); QRegExpValidator* logicalValidator = new QRegExpValidator(regLogicalExp,0); QRegExpValidator* shiftValidator = new QRegExpValidator(regShiftExp,0); QIntValidator* intValidator = new QIntValidator(); diff --git a/app/Operations/PointOp.cpp b/app/Operations/PointOp.cpp index 8681bd4..57b7ff9 100644 --- a/app/Operations/PointOp.cpp +++ b/app/Operations/PointOp.cpp @@ -73,6 +73,8 @@ PointOp::DoublePixelOp* PointOp::DoublePixelOp::fromString(QString op, QString e if(op=="! (logical NOT)") return new DoublePixLogicalNot(expr.toUInt()); if(op=="|| (logical OR)") return new DoublePixLogicalOr(expr.toUInt()); if(op=="^^ (logical XOR)") return new DoublePixLogicalXor(expr.toUInt()); + if(op=="<<") return new DoublePixLshift(expr.toUInt()); + if(op==">>") return new DoublePixRshift(expr.toUInt()); if(op=="") return new DoublePixIdent(); std::cout << "Unknown operator '" << op.toStdString() << "' ! DoublePixelOp" << std::endl; return new DoublePixIdent(); @@ -111,10 +113,10 @@ void PointOp::operator()(const ImageWindow* currentWnd, const vector<const Image QStringList pixOperators, pixDoubleOperators, imgOperators, imgDoubleOperators; - pixOperators << "" << "+" << "-" << "*" << "/" << "& (bit-wise AND)" << "&& (logical AND)" << "! (logical NOT)" << "| (bit-wise OR)" << "|| (logical OR)" << "^ (bit-wise XOR)" << "^^ (logical XOR)" << "<<" << ">>"; - pixDoubleOperators << "" << "+" << "-" << "*" << "/" << "&& (logical AND)" << "! (logical NOT)" << "|| (logical OR)" << "^^ (logical XOR)"; - imgOperators << "" << "+" << "-" << "*" << "/" << "& (bit-wise AND)" << "&& (logical AND)" << "| (bit-wise OR)" << "|| (logical OR)" << "^ (bit-wise XOR)" << "^^ (logical XOR)"; - imgDoubleOperators << "" << "+" << "-" << "*" << "/" << "&& (logical AND)" << "|| (logical OR)" << "^^ (logical XOR)"; + pixOperators << "" << "+" << "-" << "*" << "/" << qApp->translate("PointOp","! (bit-wise NOT)") << qApp->translate("PointOp","& (bit-wise AND)") << qApp->translate("PointOp","| (bit-wise OR)") << qApp->translate("PointOp","^ (bit-wise XOR)") << ">>" << "<<" << qApp->translate("PointOp","&& (logical AND)") << qApp->translate("PointOp","|| (logical OR)") << qApp->translate("PointOp","^^ (logical XOR)"); + pixDoubleOperators << "" << "+" << "-" << "*" << "/" << qApp->translate("PointOp","!! (logical NOT)") << qApp->translate("PointOp","&& (logical AND)") << qApp->translate("PointOp","|| (logical OR)") << qApp->translate("PointOp","^^ (logical XOR)"); + imgOperators << "" << "+" << "-" << "*" << "/" << qApp->translate("PointOp","& (bit-wise AND)") << qApp->translate("PointOp","| (bit-wise OR)") << qApp->translate("PointOp","^ (bit-wise XOR)") << qApp->translate("PointOp","&& (logical AND)") << qApp->translate("PointOp","|| (logical OR)") << qApp->translate("PointOp","^^ (logical XOR)"); + imgDoubleOperators << "" << "+" << "-" << "*" << "/" << qApp->translate("PointOp","&& (logical AND)") << qApp->translate("PointOp","|| (logical OR)") << qApp->translate("PointOp","^^ (logical XOR)"); QString currentImgName = currentWnd->windowTitle(); map<const Image*,string> stdImgList; diff --git a/app/Operations/PointOp.h b/app/Operations/PointOp.h index 5621ddc..a33a350 100644 --- a/app/Operations/PointOp.h +++ b/app/Operations/PointOp.h @@ -101,11 +101,9 @@ class PointOp : public GenericOperation { double op(double pixel) { return pixel + value; } }; - /*WHY + 0.5 ????? */ struct PixMul : PixOp_t<depth_t> { PixMul(double value_) : PixOp_t<depth_t>(value_) {} -// intmax_t op(depth_t pixel) { return pixel * value + 0.5; } - intmax_t op(depth_t pixel) { return pixel * value ; } + intmax_t op(depth_t pixel) { return pixel * value + 0.5; } }; struct DoublePixMul : DoublePixelOp { @@ -185,6 +183,16 @@ class PointOp : public GenericOperation { PixRshift(depth_t value_) : PixOp_t<depth_t>(value_) {} intmax_t op(depth_t pixel) { return pixel >> value; } }; + /*Used to handle the case where the input image is on uchar but the expected output is double + * When the input image is already on double, the option of pixel shifting will not appear*/ + struct DoublePixLshift : DoublePixelOp { + DoublePixLshift(int value_) : DoublePixelOp(value_) {} + double op(double pixel) { return (int)pixel << (int)value; } + }; + struct DoublePixRshift : DoublePixelOp { + DoublePixRshift(int value_) : DoublePixelOp(value_) {} + double op(double pixel) { return (int)pixel >> (int)value; } + }; /*---------------------------------------------------------------------- Image Operation Templates ----------------------------------------------------------------------*/ @@ -237,7 +245,8 @@ class PointOp : public GenericOperation { }; struct ImgDiv : ImageOp { - intmax_t op(depth_t pix1, depth_t pix2) { if(pix2 != 0) {return pix1/pix2*255;} else {return 255;}} + /*Si division par 0, renvoie 255*/ + intmax_t op(depth_t pix1, depth_t pix2) { if(pix2 != 0) {return pix1/pix2;} else {return 255;}} }; struct DoubleImgDiv : DoubleImageOp { @@ -251,11 +260,11 @@ class PointOp : public GenericOperation { }; struct ImgLogicalAnd : ImageOp { - intmax_t op(depth_t pix1, depth_t pix2) { return (pix1==0 || pix2==0) ? 255 : pix1; } + intmax_t op(depth_t pix1, depth_t pix2) { return pix1 && pix2; } }; struct DoubleImgLogicalAnd : DoubleImageOp { - double op(double pix1, double pix2) { return (pix1==0 || pix2==0) ? 255 : pix1; } + double op(double pix1, double pix2) { return pix1 && pix2; } }; /*---------------------------------------------------------------------- Image OR @@ -265,11 +274,11 @@ class PointOp : public GenericOperation { }; struct ImgLogicalOr : ImageOp { - intmax_t op(depth_t pix1, depth_t pix2) { return (pix1==0 && pix2==0) ? 255 : pix1; } + intmax_t op(depth_t pix1, depth_t pix2) { return pix1 || pix2; } }; struct DoubleImgLogicalOr : DoubleImageOp { - double op(double pix1, double pix2) { return (pix1==0 && pix2==0) ? 255 : pix1; } + double op(double pix1, double pix2) { return pix1 || pix2; } }; /*---------------------------------------------------------------------- Image XOR @@ -279,11 +288,11 @@ class PointOp : public GenericOperation { }; struct ImgLogicalXor : ImageOp { - intmax_t op(depth_t pix1, depth_t pix2) { return (pix1==pix2) ? 255 : pix1; } + intmax_t op(depth_t pix1, depth_t pix2) { return (pix1&&(!pix2)) || ((!pix1)&&pix2); } }; struct DoubleImgLogicalXor : DoubleImageOp { - double op(double pix1, double pix2) { return (pix1==pix2) ? 255 : pix1; } + double op(double pix1, double pix2) { return (pix1&&(!pix2)) || ((!pix1)&&pix2); } }; }; diff --git a/app/Operations/QuantificationDialog.cpp b/app/Operations/QuantificationDialog.cpp index ca4bedd..5743f60 100644 --- a/app/Operations/QuantificationDialog.cpp +++ b/app/Operations/QuantificationDialog.cpp @@ -55,8 +55,8 @@ QuantificationDialog::QuantificationDialog(QWidget *parent, QString imgName) : _quantBox->addItem(tr("Non linear with centered value")); _quantBox->addItem(tr("Non linear with mean value")); } - _quantBox->addItem(tr("Custom")); _quantBox->addItem(tr("LloydMax")); + _quantBox->addItem(tr("Custom")); layout->insertRow(0, tr("Quantification : "), _quantBox); layout->insertRow(1, tr("Number of values : "), _sizeBox); diff --git a/app/Operations/ScalingOp.cpp b/app/Operations/ScalingOp.cpp index f777733..79d869f 100644 --- a/app/Operations/ScalingOp.cpp +++ b/app/Operations/ScalingOp.cpp @@ -40,7 +40,7 @@ using namespace std; using namespace imagein; using namespace genericinterface; -ScalingOp::ScalingOp() : GenericOperation(qApp->translate("Operations", "Scaling").toStdString()) +ScalingOp::ScalingOp() : GenericOperation(qApp->translate("Operations", "Scaling (Enlarge/Reduce)").toStdString()) { _test=false, _interp=0, _xfactor=1., _yfactor=1.; } @@ -56,7 +56,7 @@ bool ScalingOp::isValidImgWnd(const genericinterface::ImageWindow* imgWnd) const void ScalingOp::operator()(const genericinterface::ImageWindow* currentWnd, const vector<const ImageWindow*>&) { QDialog* dialog = new QDialog(QApplication::activeWindow()); - dialog->setWindowTitle(QString(qApp->translate("Operations", "Scaling"))); + dialog->setWindowTitle(QString(qApp->translate("Operations", "Scaling (Enlarge/Reduce)"))); dialog->setMinimumWidth(180); QFormLayout* layout = new QFormLayout(); dialog->setLayout(layout); diff --git a/app/Operations/SplitHsvOp.cpp b/app/Operations/SplitHsvOp.cpp index 3a3b41d..02a78bb 100644 --- a/app/Operations/SplitHsvOp.cpp +++ b/app/Operations/SplitHsvOp.cpp @@ -58,9 +58,9 @@ void SplitHsvOp:: operator()(const imagein::Image* image, const std::map<const i resImgV->setPixelAt(i,j,color.value()); } } - this->outDoubleImage(resImgH, "Hue",false,false); - this->outDoubleImage(resImgS, "Saturation",false,false); - this->outDoubleImage(resImgV, "Value",false,false); + this->outDoubleImage(resImgH, qApp->translate("Operations", "Hue").toStdString(),false,false); + this->outDoubleImage(resImgS, qApp->translate("Operations", "Saturation").toStdString(),false,false); + this->outDoubleImage(resImgV, qApp->translate("Operations", "Value").toStdString(),false,false); } diff --git a/app/imageinsa_en.qm b/app/imageinsa_en.qm index 07bb0dc4a2f6522bf0d88a35355c7ee78921f98a..278f03a129f577edbfaa5cb07372f2075b732db0 100644 GIT binary patch delta 6092 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 delta 5618 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 diff --git a/app/imageinsa_en.ts b/app/imageinsa_en.ts index 9fee365..11417b2 100644 --- a/app/imageinsa_en.ts +++ b/app/imageinsa_en.ts @@ -4,34 +4,29 @@ <context> <name></name> <message> - <location filename="main.cpp" line="+129"/> - <location filename="../test/testgui.cpp" line="+134"/> + <location filename="main.cpp" line="+130"/> <source>&Image</source> <oldsource>Image</oldsource> - <translation>&Image</translation> + <translation>Image</translation> </message> <message> - <location line="+24"/> - <location filename="../test/testgui.cpp" line="+20"/> + <location line="+25"/> <source>&Tools</source> <oldsource>Tools</oldsource> <translation>&Tools</translation> </message> <message> <location line="+15"/> - <location filename="../test/testgui.cpp" line="+13"/> - <source>&Encoding</source> - <oldsource>Encoding</oldsource> - <translation>&Encoding</translation> + <source>&Coding</source> + <oldsource>&Encoding</oldsource> + <translation>&Coding</translation> </message> <message> - <location filename="../test/testgui.cpp" line="+8"/> <source>Transforms</source> - <translation>Transforms</translation> + <translation type="vanished">Transforms</translation> </message> <message> - <location filename="main.cpp" line="+13"/> - <location filename="../test/testgui.cpp" line="+8"/> + <location line="+13"/> <source>Analysis</source> <translation>Analysis</translation> </message> @@ -41,9 +36,8 @@ <translation>Colors</translation> </message> <message> - <location line="+9"/> <location filename="Services/FilteringService.cpp" line="+38"/> - <location filename="../test/testgui.cpp" line="+9"/> + <location filename="main.cpp" line="+9"/> <source>Filtering</source> <translation>Filtering</translation> </message> @@ -51,29 +45,24 @@ <context> <name>AboutDialog</name> <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/AboutDialog.cpp" line="+27"/> <source>About</source> - <translation>About</translation> + <translation type="vanished">About</translation> </message> <message> - <location line="+4"/> <source>This software has been developed at Insa.</source> - <translation>This software has been developped at INSA Rennes.</translation> + <translation type="vanished">This software has been developped at INSA Rennes.</translation> </message> <message> - <location line="+4"/> <source>Main authors:</source> - <translation>Main authors:</translation> + <translation type="vanished">Main authors:</translation> </message> <message> - <location line="+11"/> <source>Contributors:</source> - <translation>Contributors:</translation> + <translation type="vanished">Contributors:</translation> </message> <message> - <location line="+13"/> <source>Compiled on %1 at %2</source> - <translation>Compiled on %1 at %2</translation> + <translation type="vanished">Compiled on %1 at %2</translation> </message> </context> <context> @@ -101,7 +90,7 @@ <context> <name>ClassAnalysis</name> <message> - <location filename="Operations/ClassAnalysisOp.cpp" line="+60"/> + <location filename="Operations/ClassAnalysisOp.cpp" line="+61"/> <location line="+19"/> <source>mean</source> <translation>mean</translation> @@ -122,49 +111,41 @@ <name>ClassAnalysisDialog</name> <message> <location filename="Operations/ClassAnalysisDialog.ui" line="+14"/> - <location filename="../build/app/ui_ClassAnalysisDialog.h" line="+118"/> <source>Class analysis</source> <translation>Class analysis</translation> </message> <message> <location line="+8"/> - <location filename="../build/app/ui_ClassAnalysisDialog.h" line="+1"/> <source>Step : </source> <translation>Step : </translation> </message> <message> <location line="+13"/> - <location filename="../build/app/ui_ClassAnalysisDialog.h" line="+4"/> <source>Classification step</source> <translation>Classification step</translation> </message> <message> <location line="-5"/> - <location filename="../build/app/ui_ClassAnalysisDialog.h" line="-1"/> <source>Learning step</source> <translation>Learning step</translation> </message> <message> <location line="+10"/> - <location filename="../build/app/ui_ClassAnalysisDialog.h" line="+2"/> <source>Print file info</source> <translation>Print file info</translation> </message> <message> <location line="+8"/> - <location filename="../build/app/ui_ClassAnalysisDialog.h" line="+2"/> <source>Window size : </source> <translation>Window size : </translation> </message> <message> <location line="+23"/> - <location filename="../build/app/ui_ClassAnalysisDialog.h" line="+1"/> <source>File : </source> <translation>File : </translation> </message> <message> <location line="+12"/> - <location filename="../build/app/ui_ClassAnalysisDialog.h" line="+1"/> <source>browse</source> <translation>browse</translation> </message> @@ -177,17 +158,16 @@ <context> <name>ClassResult</name> <message> - <location filename="Operations/ClassResultOp.cpp" line="+81"/> <source> Nombre de classes = %1 </source> <oldsource> Nombre de classes = %1 </oldsource> - <translation> + <translation type="vanished"> Number of classes = %1 </translation> </message> <message> - <location line="+4"/> + <location filename="Operations/ClassResultOp.cpp" line="+93"/> <source>Valeur de la classe %1 = %2</source> <oldsource>Valeur de la classe %1 = %2 </oldsource> @@ -203,7 +183,7 @@ Number of classes = %1 </translation> </translation> </message> <message> - <location line="-22"/> + <location line="-30"/> <source>Critère de zone intérieure : </source> <oldsource>Critère de zone intérieure : </oldsource> <translation>Inner zone criterion: </translation> @@ -216,6 +196,16 @@ Number of classes = %1 </translation> </message> <message> <location line="+1"/> + <source>Largeur de couronne pour conserver la zone intérieure</source> + <translation>Crown width to keep the inner area</translation> + </message> + <message> + <location line="+1"/> + <source>Largeur de couronne pour conserver la zone frontière</source> + <translation>Crown width to keep the border area</translation> + </message> + <message> + <location line="+2"/> <source><b>Critère de zones (relatifs aux zones totales) : </b></source> <oldsource><b>Critère de zones (relatifs aux zones totales) : </b></oldsource> <translation><b>Areas' criteria (relative to the whole zones) : </b></translation> @@ -226,7 +216,23 @@ Number of classes = %1 </translation> <translation><b>Select the image's classes zones : </b></translation> </message> <message> - <location line="+59"/> + <location line="+21"/> + <source>------Largeur de couronne pour conserver la zone intérieure : %1 ------</source> + <translation>------Crown width to keep the inner area: %1 ------</translation> + </message> + <message> + <location line="+1"/> + <source>------Largeur de couronne pour conserver la zone frontière : %1 ------ +</source> + <translation>------Crown width to keep the border area : %1 ------</translation> + </message> + <message> + <location line="+2"/> + <source>Nombre de classes = %1 </source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+40"/> <source>Le taux de bon classement en zone intérieure %1 vaut: %2%</source> <oldsource>Le taux de bon classement en zone intérieure %1 vaut: %2%</oldsource> <translation>The correct classification rate in inner area %1 is %2%</translation> @@ -287,82 +293,92 @@ Number of classes = %1 </translation> <name>ColorDialog</name> <message> <location filename="Operations/ColorDialog.ui" line="+14"/> - <location filename="../build/app/ui_ColorDialog.h" line="+222"/> <source>RGB image generator</source> <translation>RGB image generator</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> <source>Image size</source> <translation>Image size</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> <source>Width : </source> <translation>Width : </translation> </message> <message> - <location line="+14"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> + <location line="+17"/> <source>Height : </source> <translation>Height : </translation> </message> <message> - <location line="+17"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> + <location line="+20"/> <source>Mode</source> <translation>Mode</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> <source>RGB</source> <translation>RGB</translation> </message> <message> <location line="+10"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> <source>HSV</source> <translation>HSV</translation> </message> <message> <location line="+13"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> <source>Red : </source> <translation>Red : </translation> </message> <message> <location line="+14"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> <source>Green : </source> <translation>Green : </translation> </message> <message> <location line="+14"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> <source>Blue : </source> <translation>Blue : </translation> </message> <message> <location line="+33"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> <source>Saturation : </source> <translation>Saturation : </translation> </message> <message> - <location line="+14"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> + <location line="+21"/> <source>Value : </source> <translation>Value : </translation> </message> <message> <location line="+14"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> + <source>Get a hint</source> + <translation>Get a hint</translation> + </message> + <message> + <location line="-21"/> <source>Hue : </source> <translation>Hue : </translation> </message> + <message> + <location filename="Operations/ColorDialog.cpp" line="+64"/> + <source>A small tip for Qt HSV Color Model</source> + <translation>A small tip for Qt HSV Color Model</translation> + </message> +</context> +<context> + <name>ColorimetryOp</name> + <message> + <location filename="Operations/ColorimetryOp.cpp" line="+55"/> + <source>Warning</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Empty image generation is not allowed</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>CombineColorOp</name> @@ -467,43 +483,36 @@ Number of classes = %1 </translation> <name>DCTDialog</name> <message> <location filename="Operations/DCTDialog.ui" line="+14"/> - <location filename="../build/app/ui_DCTDialog.h" line="+172"/> <source>DCT encoding</source> <translation>DCT with encoding</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_DCTDialog.h" line="+1"/> <source>Encoding mode && associated parameters</source> <translation>Encoding mode && associated parameters</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_DCTDialog.h" line="+1"/> <source>Coefficients truncation</source> <translation>Coefficients truncation</translation> </message> <message> <location line="+34"/> - <location filename="../build/app/ui_DCTDialog.h" line="+1"/> <source>Truncation limit : </source> <translation>Truncation limit : </translation> </message> <message> <location line="+19"/> - <location filename="../build/app/ui_DCTDialog.h" line="+1"/> <source>Bit allocation matrice</source> <translation>Bit allocation matrice</translation> </message> <message> <location line="+25"/> - <location filename="../build/app/ui_DCTDialog.h" line="+1"/> <source>Initial number of bits : </source> <translation>Initial number of bits : </translation> </message> <message> <location line="+37"/> - <location filename="../build/app/ui_DCTDialog.h" line="+1"/> <source>Slope value : </source> <translation>Slope value : </translation> </message> @@ -687,67 +696,56 @@ tquantdef->GetNumThresholds() = %d</source> </message> <message> <location filename="Operations/DPCMDialog.ui" line="+14"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+209"/> <source>DPCM encoding</source> <translation>DPCM Encoding</translation> </message> <message> <location line="+21"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+2"/> <source>Predictor P(X)</source> <translation>Predictor P(X)</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>A</source> <translation>A</translation> </message> <message> <location line="+10"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>C</source> <translation>C</translation> </message> <message> <location line="+7"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>( A + C ) / 2</source> <translation>( A + C ) / 2</translation> </message> <message> <location line="+7"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>Modified Graham's</source> <translation>Modified Graham's</translation> </message> <message> <location line="+9"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>Q = </source> <translation>Q = </translation> </message> <message> <location line="+41"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>Quantifier</source> <translation>Quantizer</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>Quantification file :</source> <translation>Quantization file :</translation> </message> <message> <location line="+20"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>Browse</source> <translation>Browse</translation> </message> <message> <location line="+28"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>Open quantification editor</source> <translation>Open quantization editor</translation> </message> @@ -756,31 +754,26 @@ tquantdef->GetNumThresholds() = %d</source> <name>FFTDialog</name> <message> <location filename="Operations/FFTDialog.ui" line="+14"/> - <location filename="../build/app/ui_FFTDialog.h" line="+92"/> <source>Dialog</source> <translation>Dialog</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_FFTDialog.h" line="+1"/> <source>Résultat :</source> <translation>Result :</translation> </message> <message> <location line="+8"/> - <location filename="../build/app/ui_FFTDialog.h" line="+1"/> <source>Magnitude + Phase</source> <translation>Magnitude + Phase</translation> </message> <message> <location line="+10"/> - <location filename="../build/app/ui_FFTDialog.h" line="+1"/> <source>Real + Imaginary</source> <translation>Real + Imaginary</translation> </message> <message> <location line="+9"/> - <location filename="../build/app/ui_FFTDialog.h" line="+1"/> <source>Centered transform</source> <translation>Centered transform</translation> </message> @@ -788,14 +781,19 @@ tquantdef->GetNumThresholds() = %d</source> <context> <name>FFTOp</name> <message> - <location filename="Operations/FFTOp.cpp" line="+96"/> <source>DFT (phase)</source> - <translation>DFT (phase)</translation> + <translation type="vanished">DFT (phase)</translation> + </message> + <message> + <location filename="Operations/FFTOp.cpp" line="+97"/> + <source>DFT (Phase)</source> + <oldsource>DFT (magnitude)</oldsource> + <translation type="unfinished">DFT (magnitude)</translation> </message> <message> <location line="+1"/> - <source>DFT (magnitude)</source> - <translation>DFT (magnitude)</translation> + <source>DFT (Magnitude)</source> + <translation type="unfinished"></translation> </message> </context> <context> @@ -860,23 +858,32 @@ tquantdef->GetNumThresholds() = %d</source> </message> <message> <location line="+1"/> + <source>Linear stretching</source> + <translation>Linear stretching</translation> + </message> + <message> + <location line="+18"/> + <source>Linear stretched</source> + <translation>Linear stretched</translation> + </message> + <message> <source>Normalize</source> - <translation>Normalize</translation> + <translation type="vanished">Normalize</translation> </message> <message> - <location line="+1"/> + <location line="-17"/> <source>Operation : </source> <translation>Operation : </translation> </message> <message> <location line="+13"/> - <source>equalized</source> - <translation>equalized</translation> + <source>Equalized</source> + <oldsource>equalized</oldsource> + <translation>Equalized</translation> </message> <message> - <location line="+4"/> <source>normalized</source> - <translation>normalized</translation> + <translation type="vanished">normalized</translation> </message> </context> <context> @@ -896,37 +903,31 @@ tquantdef->GetNumThresholds() = %d</source> <name>HoughDialog</name> <message> <location filename="Operations/HoughDialog.ui" line="+14"/> - <location filename="../build/app/ui_HoughDialog.h" line="+145"/> <source>Hough transform</source> <translation>Hough transform</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_HoughDialog.h" line="+1"/> <source>Method</source> <translation>Method</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_HoughDialog.h" line="+1"/> <source>Method #1</source> <translation>Method #1</translation> </message> <message> <location line="+10"/> - <location filename="../build/app/ui_HoughDialog.h" line="+1"/> <source>Method #2</source> <translation>Method #2</translation> </message> <message> <location line="+21"/> - <location filename="../build/app/ui_HoughDialog.h" line="+1"/> <source>Angle step : </source> <translation>Angle step : </translation> </message> <message> <location line="+39"/> - <location filename="../build/app/ui_HoughDialog.h" line="+1"/> <source>Distance step : </source> <translation>Distance step : </translation> </message> @@ -986,20 +987,17 @@ tquantdef->GetNumThresholds() = %d</source> <name>InverseHoughDialog</name> <message> <location filename="Operations/InverseHoughDialog.ui" line="+14"/> - <location filename="../build/app/ui_InverseHoughDialog.h" line="+105"/> <source>Inverse hough transform</source> <oldsource>Hough reconstruction</oldsource> <translation>Inverse Hough transform</translation> </message> <message> <location line="+15"/> - <location filename="../build/app/ui_InverseHoughDialog.h" line="+2"/> <source>Reconstructed image height : </source> <translation>Reconstructed image height : </translation> </message> <message> <location line="-7"/> - <location filename="../build/app/ui_InverseHoughDialog.h" line="-1"/> <source>Reconstructed image width : </source> <translation>Reconstructed image width : </translation> </message> @@ -1009,7 +1007,6 @@ tquantdef->GetNumThresholds() = %d</source> </message> <message> <location line="+14"/> - <location filename="../build/app/ui_InverseHoughDialog.h" line="+2"/> <source>Reconstruction threshold : </source> <translation>Reconstruction threshold : </translation> </message> @@ -1018,56 +1015,47 @@ tquantdef->GetNumThresholds() = %d</source> <name>InversePyramidDialog</name> <message> <location filename="Operations/InversePyramidDialog.ui" line="+14"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+109"/> <source>Pyramidal reconstruction</source> <oldsource>Pyramid reconstruction</oldsource> <translation>Pyramidal reconstruction</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+1"/> <source>Filter : </source> <translation>Filter : </translation> </message> <message> <location line="+8"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+3"/> <source>triangular</source> <translation>triangular</translation> </message> <message> <location line="+5"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+1"/> <source>gaussian</source> <translation>gaussian</translation> </message> <message> <location line="+5"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+1"/> <source>trimodal</source> <translation>trimodal</translation> </message> <message> <location line="+5"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+1"/> <source>rectangular</source> <translation>rectangular</translation> </message> <message> <location line="+5"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+1"/> <source>qmf</source> <translation>qmf</translation> </message> <message> <location line="+21"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+2"/> <source>Number of steps in the pyramid : </source> <translation>Number of steps in the pyramid : </translation> </message> <message> <location line="+33"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+1"/> <source>Step to reconstruct :</source> <translation>Step to reconstruct :</translation> </message> @@ -1075,40 +1063,39 @@ tquantdef->GetNumThresholds() = %d</source> <context> <name>MeanSquareErrorOp</name> <message> - <location filename="Operations/MeanSquaredErrorOp.cpp" line="+84"/> <source>Mean squarred error : %1 (mean error : %2)</source> - <translation>Mean squarred error : %1 (mean error : %2)</translation> + <translation type="vanished">Mean squarred error : %1 (mean error : %2)</translation> + </message> + <message> + <location filename="Operations/MeanSquaredErrorOp.cpp" line="+86"/> + <source>Mean squarred error : %1 (mean absolute error : %2)</source> + <translation>Mean squarred error : %1 (mean absolute error : %2)</translation> </message> </context> <context> <name>MedianDialog</name> <message> <location filename="Operations/MedianDialog.ui" line="+14"/> - <location filename="../build/app/ui_MedianDialog.h" line="+79"/> <source>Dialog</source> <translation>Dialog</translation> </message> <message> <location line="+12"/> - <location filename="../build/app/ui_MedianDialog.h" line="+1"/> <source>Forme</source> <translation>Shape</translation> </message> <message> <location line="+12"/> - <location filename="../build/app/ui_MedianDialog.h" line="+1"/> <source>Croix</source> <translation>Cross</translation> </message> <message> <location line="+16"/> - <location filename="../build/app/ui_MedianDialog.h" line="+1"/> <source>Carré</source> <translation>Square</translation> </message> <message> <location line="+42"/> - <location filename="../build/app/ui_MedianDialog.h" line="+1"/> <source>Taille</source> <translation>Size</translation> </message> @@ -1162,12 +1149,12 @@ tquantdef->GetNumThresholds() = %d</source> <translation>BFilt</translation> </message> <message> - <location line="+12"/> - <location filename="Operations/CombineColorOp.cpp" line="-54"/> - <location filename="Operations/CombineHsvOp.cpp" line="-54"/> - <location filename="Operations/IFFTOp.cpp" line="-150"/> + <location filename="Operations/PointOp.cpp" line="+136"/> <location filename="Operations/NoiseOp.cpp" line="-112"/> - <location filename="Operations/PointOp.cpp" line="+116"/> + <location filename="Operations/IFFTOp.cpp" line="-150"/> + <location filename="Operations/CombineHsvOp.cpp" line="-54"/> + <location filename="Operations/CombineColorOp.cpp" line="-54"/> + <location filename="Operations/BFlitOp.cpp" line="+12"/> <source>Parameters</source> <translation>Parameters</translation> </message> @@ -1176,10 +1163,10 @@ tquantdef->GetNumThresholds() = %d</source> <translation type="vanished">Magnitude/Phase</translation> </message> <message> - <location line="+13"/> + <location filename="Operations/RandomImgOp.cpp" line="+106"/> + <location filename="Operations/PointOp.cpp" line="+149"/> <location filename="Operations/NoiseOp.cpp" line="+41"/> - <location filename="Operations/PointOp.cpp" line="+123"/> - <location filename="Operations/RandomImgOp.cpp" line="+105"/> + <location filename="Operations/BFlitOp.cpp" line="+13"/> <source>Validate</source> <translation>Validate</translation> </message> @@ -1224,13 +1211,13 @@ tquantdef->GetNumThresholds() = %d</source> <translation>Entropy calculation (standard image)</translation> </message> <message> - <location filename="Operations/FFTOp.cpp" line="-69"/> + <location filename="Operations/FFTOp.cpp" line="-70"/> <source>Fourier transform</source> <oldsource>Discrete Fourier transform</oldsource> <translation>Fourier transform</translation> </message> <message> - <location filename="Operations/HistogramOp.cpp" line="-35"/> + <location filename="Operations/HistogramOp.cpp" line="-31"/> <source>Histogram operations</source> <translation>Histogram operations</translation> </message> @@ -1240,19 +1227,19 @@ tquantdef->GetNumThresholds() = %d</source> <translation>Huffman</translation> </message> <message> - <location filename="Operations/MeanSquaredErrorOp.cpp" line="-50"/> + <location filename="Operations/MeanSquaredErrorOp.cpp" line="-52"/> <source>Mean squared error</source> <translation>Mean squared error</translation> </message> <message> - <location line="+11"/> <location filename="Operations/SignalToNoiseOp.cpp" line="+46"/> + <location filename="Operations/MeanSquaredErrorOp.cpp" line="+11"/> <source>Compare to...</source> <translation>Compare to...</translation> </message> <message> <location line="+8"/> - <location filename="Operations/SignalToNoiseOp.cpp" line="+8"/> + <location filename="Operations/MeanSquaredErrorOp.cpp" line="+8"/> <source>Compare %1 to : </source> <translation>Compare %1 to : </translation> </message> @@ -1262,7 +1249,7 @@ tquantdef->GetNumThresholds() = %d</source> <translation>Add noise</translation> </message> <message> - <location filename="Operations/PointOp.cpp" line="-195"/> + <location filename="Operations/PointOp.cpp" line="-240"/> <source>Pixel operations</source> <translation>Pixel operations</translation> </message> @@ -1276,6 +1263,10 @@ tquantdef->GetNumThresholds() = %d</source> <source>Quantification</source> <translation>Quantization</translation> </message> + <message> + <source>Resampling (Enlarge/Reduce)</source> + <translation type="vanished">Resampling (Enlarge/Reduce)</translation> + </message> <message> <location line="+14"/> <source> @@ -1312,7 +1303,7 @@ Channel %d : <translation>Generate random image</translation> </message> <message> - <location line="+92"/> + <location line="+105"/> <location line="+20"/> <source>Random image</source> <translation>Random image</translation> @@ -1331,8 +1322,13 @@ Channel %d : <message> <location filename="Operations/ScalingOp.cpp" line="+43"/> <location line="+16"/> + <source>Scaling (Enlarge/Reduce)</source> + <oldsource>Scaling (enlarge/reduce)</oldsource> + <translation>Scaling (Enlarge/Reduce)</translation> + </message> + <message> <source>Scaling</source> - <translation>Scaling</translation> + <translation type="vanished">Scaling</translation> </message> <message> <location filename="Operations/SignalToNoiseOp.cpp" line="-20"/> @@ -1340,8 +1336,8 @@ Channel %d : <translation>Signal-to-noise ratio</translation> </message> <message> - <location filename="Operations/SinusSynthesisOp.cpp" line="+39"/> - <location line="+106"/> + <location filename="Operations/SinusSynthesisOp.cpp" line="+40"/> + <location line="+120"/> <source>Sinus synthesis</source> <translation>Sinus synthesis</translation> </message> @@ -1398,31 +1394,31 @@ Channel %d : </message> <message> <location filename="Operations/InversePyramidOp.cpp" line="+31"/> - <source>Pyramidal reconstruction</source> - <oldsource>Reconstruct pyramid</oldsource> - <translation>Pyramidal reconstruction</translation> + <source>Laplacian pyramidal reconstruction</source> + <oldsource>Pyramidal reconstruction</oldsource> + <translation>Laplacian pyramidal reconstruction</translation> </message> <message> - <location line="+10"/> - <location line="+5"/> <location filename="Operations/PyramidOp.cpp" line="+44"/> <location line="+5"/> + <location filename="Operations/InversePyramidOp.cpp" line="+11"/> + <location line="+5"/> <source>The operation can't be applied on this image</source> <translation>The operation can't be applied on this image</translation> </message> <message> - <location line="-4"/> + <location filename="Operations/InversePyramidOp.cpp" line="-4"/> <source>The image width must be twice the image height.</source> <translation>The image width must be twice the image height.</translation> </message> <message> - <location line="+5"/> <location filename="Operations/PyramidOp.cpp" line="+1"/> + <location filename="Operations/InversePyramidOp.cpp" line="+5"/> <source>The image dimensions must be power of 2.</source> <translation>The image dimensions must be power of 2.</translation> </message> <message> - <location filename="Operations/PyramidOp.cpp" line="-18"/> + <location line="-18"/> <source>Pyramidal decomposition</source> <translation>Pyramidal decomposition</translation> </message> @@ -1432,7 +1428,7 @@ Channel %d : <translation>The image width must equal the image height.</translation> </message> <message> - <location line="+33"/> + <location line="+35"/> <location line="+10"/> <source>Gaussian</source> <translation>Gaussian</translation> @@ -1472,19 +1468,21 @@ Channel %d : <translation type="vanished">Laplacian pyramidal decomposition</translation> </message> <message> - <location filename="Operations/ClassResultOp.cpp" line="-99"/> + <location filename="Operations/ClassResultOp.cpp" line="-107"/> <source>Classification results</source> <translation>Classification results</translation> </message> <message> - <location filename="Operations/ColorimetryOp.cpp" line="+34"/> - <source>Generate RGB image</source> - <translation>Generate RGB image</translation> + <location filename="Operations/ColorimetryOp.cpp" line="-21"/> + <source>Generate RGB/HSV image</source> + <oldsource>Generate RGB image</oldsource> + <translation>Generate RGB/HSV image</translation> </message> <message> <location line="+11"/> - <source>RGB image generator</source> - <translation>RGB image generator</translation> + <source>RGB/HSV image generator</source> + <oldsource>RGB image generator</oldsource> + <translation>RGB/HSV image generator</translation> </message> <message> <location filename="Operations/IFFTOp.cpp" line="-11"/> @@ -1492,7 +1490,7 @@ Channel %d : <translation>Inverse Fourier transform</translation> </message> <message> - <location filename="Operations/ClassAnalysisOp.cpp" line="-45"/> + <location filename="Operations/ClassAnalysisOp.cpp" line="-46"/> <source>Supervised classification</source> <translation>Supervised classification</translation> </message> @@ -1510,7 +1508,7 @@ Channel %d : Throughput(Huffman) = %.4f</translation> </message> <message> - <location filename="Algorithms/Pyramid.cpp" line="+639"/> + <location filename="Algorithms/Pyramid.cpp" line="+641"/> <location line="+20"/> <source>L'entropie de l'etage %d est %1f </source> @@ -1570,6 +1568,21 @@ Le debit vaut : %5.2f <source>The image is not in color.</source> <translation>The image is not in color.</translation> </message> + <message> + <location line="+19"/> + <source>Hue</source> + <translation>Hue</translation> + </message> + <message> + <location line="+1"/> + <source>Saturation</source> + <translation>Saturation</translation> + </message> + <message> + <location line="+1"/> + <source>Value</source> + <translation>Value</translation> + </message> <message> <location filename="Operations/UCharConvertDialog.cpp" line="+37"/> <source>Convert to UChar</source> @@ -1713,22 +1726,25 @@ Le debit vaut : %5.2f <translation><i>Offset and scale : Adds a 127 offset and scales</i></translation> </message> <message> - <location filename="Operations/PointOp.cpp" line="+349"/> + <location filename="Operations/PointOp.cpp" line="+418"/> <source>Pas de conversion [min : 0, max : 255]</source> <translation>Conversion step [min : 0, max : 255]</translation> </message> + <message> + <location filename="Operations/AbsoluteConvertOp.cpp" line="+33"/> + <source>Convert to Absolute</source> + <translation>Convert to Absolute</translation> + </message> </context> <context> <name>PlugOperation</name> <message> - <location filename="../core/PlugOperation.cpp" line="+77"/> <source>Parameters</source> - <translation>Parameters</translation> + <translation type="vanished">Parameters</translation> </message> <message> - <location line="+9"/> <source>Validate</source> - <translation>Validate</translation> + <translation type="vanished">Validate</translation> </message> </context> <context> @@ -1779,46 +1795,145 @@ Le debit vaut : %5.2f <context> <name>PointOp</name> <message> - <location filename="Operations/PointOp.cpp" line="-272"/> + <location filename="Operations/PointOp.cpp" line="-322"/> <source>Second operand</source> <translation>Second operand</translation> </message> <message> - <location line="+5"/> + <location line="+1"/> <source>Value</source> <translation>Value</translation> </message> + <message> + <location line="+1"/> + <source>Enter a real number in the blank space below as the second operand</source> + <translation type="unfinished"></translation> + </message> <message> <location line="+1"/> <source>Image</source> <translation>Image</translation> </message> <message> - <location line="+30"/> + <location line="+1"/> + <source>Select an image as the second operand</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+4"/> + <source>Output the result image in uchar format</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Output the result image in double format</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+26"/> + <source>Add an offset of 127 to fit negative values</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Map the value of each pixel to the range of 0-255 proportionally</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> <source>Explode colors</source> <translation>Explode colors</translation> </message> + <message> + <location line="+1"/> + <source>Check this option to execute the manipulation by channel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+29"/> + <source>Supported operations list which takes a value as operand: + The input operand will be rounded down for shift operations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Supported operations list whick takes an image as operand: + The bit-wise NOT operation will automatically ignore the second image</source> + <translation type="unfinished"></translation> + </message> <message> <source>Double Result</source> <translation type="vanished">Double Result</translation> </message> <message> - <location line="-35"/> + <location line="-64"/> <source>UChar</source> <translation>UChar</translation> </message> <message> - <location line="+1"/> + <location line="+2"/> <source>Double</source> <translation>Double</translation> </message> <message> - <location line="+2"/> + <location line="-3"/> <source>Output image</source> <translation>Output image</translation> </message> <message> - <location line="+27"/> + <location line="-31"/> + <source>! (bit-wise NOT)</source> + <translation>! (bit-wise NOT)</translation> + </message> + <message> + <location line="+0"/> + <location line="+2"/> + <source>& (bit-wise AND)</source> + <translation>& (bit-wise AND)</translation> + </message> + <message> + <location line="-2"/> + <location line="+2"/> + <source>| (bit-wise OR)</source> + <translation>| (bit-wise OR)</translation> + </message> + <message> + <location line="-2"/> + <location line="+2"/> + <source>^ (bit-wise XOR)</source> + <translation>^ (bit-wise XOR)</translation> + </message> + <message> + <location line="-2"/> + <location line="+1"/> + <location line="+1"/> + <location line="+1"/> + <source>&& (logical AND)</source> + <translation>&& (logical AND)</translation> + </message> + <message> + <location line="-3"/> + <location line="+1"/> + <location line="+1"/> + <location line="+1"/> + <source>|| (logical OR)</source> + <translation>|| (logical OR)</translation> + </message> + <message> + <location line="-3"/> + <location line="+1"/> + <location line="+1"/> + <location line="+1"/> + <source>^^ (logical XOR)</source> + <translation>^^ (logical XOR)</translation> + </message> + <message> + <location line="-2"/> + <source>!! (logical NOT)</source> + <translation>!! (logical NOT)</translation> + </message> + <message> + <location line="+56"/> <source>Options</source> <translation>Options</translation> </message> @@ -1828,7 +1943,7 @@ Le debit vaut : %5.2f <translation>Offset</translation> </message> <message> - <location line="+1"/> + <location line="+2"/> <source>Scaling</source> <translation>Scaling</translation> </message> @@ -1845,71 +1960,61 @@ Le debit vaut : %5.2f <name>PyramidDialog</name> <message> <location filename="Operations/PyramidDialog.ui" line="+14"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+139"/> <source>Pyramidal decomposition</source> <translation>Pyramidal decomposition</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+1"/> <source>Type of pyramid</source> <translation>Type of pyramid</translation> </message> <message> <location line="+6"/> <location line="+35"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+1"/> - <location line="+6"/> <source>gaussian</source> <translation>gaussian</translation> </message> <message> <location line="-25"/> - <location filename="../build/app/ui_PyramidDialog.h" line="-5"/> <source>laplacian</source> <translation>laplacian</translation> </message> <message> <location line="+12"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+1"/> <source>Filter : </source> <translation>Filter : </translation> </message> <message> <location line="+8"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+3"/> <source>triangular</source> <translation>triangular</translation> </message> <message> <location line="+10"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+2"/> <source>trimodal</source> <translation>trimodal</translation> </message> <message> <location line="+5"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+1"/> <source>rectangular</source> <translation>rectangular</translation> </message> <message> <location line="+5"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+1"/> <source>qmf</source> <translation>qmf</translation> </message> <message> <location line="+8"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+2"/> - <source>Number of steps : </source> - <translation>Number of steps : </translation> + <source>Number of levels : </source> + <oldsource>Number of steps : </oldsource> + <translation type="unfinished">Number of steps : </translation> </message> <message> <location line="+21"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+1"/> - <source>Create only one step :</source> - <translation>Create only one step :</translation> + <source>Create only one level :</source> + <oldsource>Create only one step :</oldsource> + <translation type="unfinished">Create only one step :</translation> </message> <message> <location filename="Operations/PyramidDialog.cpp" line="+41"/> @@ -1982,17 +2087,17 @@ Le debit vaut : %5.2f <translation>Non linear with mean value</translation> </message> <message> - <location line="+2"/> + <location line="+3"/> <source>Custom</source> <translation>Custom</translation> </message> <message> - <location line="+1"/> + <location line="-1"/> <source>LloydMax</source> <translation>LloydMax</translation> </message> <message> - <location line="+2"/> + <location line="+3"/> <source>Quantification : </source> <translation>Quantization : </translation> </message> @@ -2100,7 +2205,7 @@ Le debit vaut : %5.2f <context> <name>RandomImgOp</name> <message> - <location filename="Operations/RandomImgOp.cpp" line="-106"/> + <location filename="Operations/RandomImgOp.cpp" line="-119"/> <source>Parameters</source> <translation>Parameters</translation> </message> @@ -2146,6 +2251,16 @@ Le debit vaut : %5.2f <source> to </source> <translation> to </translation> </message> + <message> + <location line="+24"/> + <source>Warning</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Empty image generation is not allowed</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>RejectionRingOp</name> @@ -2277,7 +2392,7 @@ Le debit vaut : %5.2f <context> <name>SinusSynthesisOp</name> <message> - <location filename="Operations/SinusSynthesisOp.cpp" line="-95"/> + <location filename="Operations/SinusSynthesisOp.cpp" line="-109"/> <source>Sinus synthesis</source> <translation>Sinus synthesis</translation> </message> @@ -2307,7 +2422,7 @@ Le debit vaut : %5.2f <translation>Image size (width=height) : </translation> </message> <message> - <location line="+1"/> + <location line="+3"/> <source>Signal period (pixel) : </source> <translation>Signal period (pixel) : </translation> </message> @@ -2321,6 +2436,16 @@ Le debit vaut : %5.2f <source>Niveaux de gris : </source> <translation>Grayscale levels : </translation> </message> + <message> + <location line="+17"/> + <source>Warning</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Image size can not be zero</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>StructElemWindow</name> @@ -2960,457 +3085,64 @@ Le debit vaut : %5.2f </message> </context> <context> - <name>genericinterface::ColumnView</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/ColumnView.cpp" line="+28"/> - <source>Column Profile for column number %1</source> - <translation></translation> - </message> + <name>genericinterface::DoubleImageWindow</name> <message> - <location line="+1"/> - <source>Pixel Value</source> - <translation type="unfinished"></translation> + <source>Crop</source> + <translation type="obsolete">Crop</translation> </message> <message> - <location line="+1"/> - <source>Line number</source> - <translation type="unfinished"></translation> + <source>Color</source> + <translation type="obsolete">Color</translation> </message> </context> <context> - <name>genericinterface::ColumnWindow</name> + <name>genericinterface::FileService</name> <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/ColumnWindow.cpp" line="+28"/> - <source>Column profile</source> - <translation type="unfinished"></translation> + <source>Open a file</source> + <translation type="obsolete">Open a file</translation> </message> </context> <context> - <name>genericinterface::DoubleImageWindow</name> + <name>genericinterface::GenericHistogramView</name> <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/DoubleImageWindow.cpp" line="+77"/> - <source>Disable Offset</source> - <translation type="unfinished"></translation> + <source>Black</source> + <translation type="obsolete">Black</translation> </message> <message> - <location line="+7"/> - <source>Offset (127)</source> - <translation type="unfinished"></translation> + <source>Red</source> + <translation type="obsolete">Red</translation> </message> <message> - <location line="+3"/> - <source>Crop</source> - <translation type="unfinished">Crop</translation> + <source>Alpha</source> + <translation type="obsolete">Alpha</translation> </message> <message> - <location line="+1"/> - <source>Copy & crop</source> - <translation type="unfinished"></translation> + <source>Green</source> + <translation type="obsolete">Green</translation> </message> <message> - <location line="+29"/> - <source>Selected</source> - <translation type="unfinished"></translation> + <source>Blue</source> + <translation type="obsolete">Blue</translation> </message> +</context> +<context> + <name>genericinterface::ImageWindow</name> <message> - <location line="+9"/> - <location line="+15"/> - <location line="+95"/> - <location line="+28"/> - <source>Color</source> - <translation type="unfinished">Color</translation> + <source>Image</source> + <translation type="obsolete">Image</translation> </message> +</context> +<context> + <name>genericinterface::MorphoMatService</name> <message> - <location line="-132"/> - <source>Hovered</source> - <translation type="unfinished"></translation> + <location filename="Services/MorphoMatService.cpp" line="+58"/> + <source>&Erosion</source> + <translation>&Erosion</translation> </message> <message> - <location line="+61"/> - <source>Pixels Grid</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::FileService</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Services/FileService.cpp" line="+43"/> - <location line="+50"/> - <location line="+5"/> - <source>&File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-54"/> - <location line="+31"/> - <source>&Open</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-26"/> - <source>Save &As</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>&Copy</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+25"/> - <source>Language</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+120"/> - <source>Save a file</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>PNG image (*.png);;BMP image (*.bmp);; JPEG image(*.jpg *.jpeg);; VFF image (*.vff)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+34"/> - <source>&%1 %2</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+20"/> - <source>Open a file</source> - <translation type="unfinished">Open a file</translation> - </message> - <message> - <location line="+0"/> - <source>Supported image (*.png *.bmp *.jpg *.jpeg *.vff);; PNG image (*.png);;BMP image (*.bmp);; JPEG image(*.jpg *.jpeg);; VFF image (*.vff)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+19"/> - <source>Change current language</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>The current language will be modified at next startup. Would you like to restart now?</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::GenericHistogramView</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/GenericHistogramView.cpp" line="+111"/> - <source>Histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Number of specimen</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Pixel value</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+60"/> - <source>Black</source> - <translation type="unfinished">Black</translation> - </message> - <message> - <location line="+2"/> - <source>Red</source> - <translation type="unfinished">Red</translation> - </message> - <message> - <location line="+4"/> - <location line="+8"/> - <source>Alpha</source> - <translation type="unfinished">Alpha</translation> - </message> - <message> - <location line="-6"/> - <source>Green</source> - <translation type="unfinished">Green</translation> - </message> - <message> - <location line="+3"/> - <source>Blue</source> - <translation type="unfinished">Blue</translation> - </message> - <message> - <location line="+6"/> - <source>Channel</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::GenericHistogramWindow</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/GenericHistogramWindow.cpp" line="+78"/> - <location line="+150"/> - <source>Hovered</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-145"/> - <location line="+150"/> - <source>Value 1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-145"/> - <location line="+150"/> - <source>Value 2</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-144"/> - <source>Save As Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+67"/> - <source>Bad object type</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>Only images can be saved to a file.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Unknown exception</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+15"/> - <source>Save a file</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>PNG image (*.png);;BMP image (*.bmp);; JPEG image(*.jpg *.jpeg);; VFF image (*.vff)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+65"/> - <source>C: %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>C: %1, A: %2</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>R: %1, G: %2, B: %3</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>R: %1, G: %2, B: %3, A: %4</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::GenericInterface</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/GenericInterface.cpp" line="+56"/> - <location line="+180"/> - <location line="+1"/> - <source>&Help</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-181"/> - <source>&About</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+32"/> - <location line="+100"/> - <source>Interface's integrity compromised</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-99"/> - <source>An error occurred in the addition of a new service. The interface may not offer all the expected features. See the log file for more informations.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+100"/> - <source>An error occurred in the addition of a service. The interface may not offer all the expected features. See the log file for more informations.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+44"/> - <location line="+1"/> - <source>&Window</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+49"/> - <location line="+1"/> - <source>&File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>&Exit</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::HistogramView</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/HistogramView.cpp" line="+30"/> - <location line="+11"/> - <source>Histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-8"/> - <location line="+11"/> - <source>Cumulated histogram</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::HistogramWindow</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/HistogramWindow.cpp" line="+29"/> - <location line="+11"/> - <source>Histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-8"/> - <location line="+11"/> - <source>Cumulated histogram</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::ImageWindow</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/ImageWindow.cpp" line="+86"/> - <location line="+100"/> - <source>Save As</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-97"/> - <source>Zoom + (Ctrl+Scroll Wheel)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Zoom - (Ctrl+Scroll Wheel)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Rename</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Apply mask</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Copy image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+35"/> - <source>Image</source> - <translation type="unfinished">Image</translation> - </message> - <message> - <location line="+11"/> - <location line="+270"/> - <source>Zoom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-264"/> - <source>Selection mode</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+7"/> - <source>Hand mode</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+8"/> - <source>Select all</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+8"/> - <source>Zoom +</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+8"/> - <source>Zoom -</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+149"/> - <source>Bad object type</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>Only images can be saved to a file.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Unknown exception</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+14"/> - <source>Save a file</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>PNG image (*.png);;BMP image (*.bmp);; JPEG image(*.jpg *.jpeg);; VFF image (*.vff)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+95"/> - <source>Rename image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>New name:</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::MorphoMatService</name> - <message> - <location filename="Services/MorphoMatService.cpp" line="+58"/> - <source>&Erosion</source> - <translation>&Erosion</translation> - </message> - <message> - <location line="+1"/> - <source>&Dilatation</source> - <translation>&Dilatation</translation> + <location line="+1"/> + <source>&Dilatation</source> + <translation>&Dilatation</translation> </message> <message> <location line="+1"/> @@ -3443,317 +3175,22 @@ Le debit vaut : %5.2f <translation>&Structuring element</translation> </message> </context> -<context> - <name>genericinterface::NavigationDock</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/NavBar/NavigationDock.cpp" line="+45"/> - <source>Close all image from the selection</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::ProjectionHistogramView</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/ProjectionHistogramView.cpp" line="+29"/> - <source>Horizontal Projection Histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Line number</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Vertical Projection Histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Column number</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Number of pixels >= %1</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::ProjectionHistogramWindow</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/ProjectionHistogramWindow.cpp" line="+29"/> - <source>Horizontal Projection Histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Vertical Projection Histogram</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::RadioPanel</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/GridView.cpp" line="+60"/> - <source>R</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>G</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>B</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::RowView</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/RowView.cpp" line="+28"/> - <source>Line Profile for line number %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Pixel Value</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Column number</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::RowWindow</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/RowWindow.cpp" line="+28"/> - <source>Row profile</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::SelectionWidget</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/ImageWindow.cpp" line="-400"/> - <source>Selection : </source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>x:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>y:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>width:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>height:</source> - <translation type="unfinished"></translation> - </message> -</context> <context> <name>genericinterface::StandardImageWindow</name> <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/StandardImageWindow.cpp" line="+47"/> - <source>Unknown file format !</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+12"/> - <source>Unknown exception</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>Error while opening file</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+39"/> <source>Crop</source> - <translation type="unfinished">Crop</translation> - </message> - <message> - <location line="+1"/> - <source>Copy and crop</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+29"/> - <source>Selected</source> - <translation type="unfinished"></translation> + <translation type="obsolete">Crop</translation> </message> <message> - <location line="+9"/> - <location line="+15"/> - <location line="+125"/> - <location line="+15"/> <source>Color</source> - <translation type="unfinished">Color</translation> - </message> - <message> - <location line="-149"/> - <source>Hovered</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+47"/> - <location line="+12"/> - <source>Threshold selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-12"/> - <location line="+12"/> - <source>Enter the threshold value -(only pixels superior or equal to this value will be counted)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+12"/> - <source>Line selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>Select the line to project</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+13"/> - <source>Column selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>Select the column to project</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+12"/> - <source>Pixels Grid</source> - <translation type="unfinished"></translation> + <translation type="obsolete">Color</translation> </message> </context> <context> <name>genericinterface::UtilityService</name> <message> - <location filename="../lib/detiq-t/GenericInterface/Services/UtilityService.cpp" line="+30"/> - <source>&Show</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Cumulated Histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Horizontal projection histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Vertical projection histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Line Profile</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Column Profile</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Pixels grid</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> <source>Colors</source> - <translation type="unfinished">Colors</translation> - </message> - <message> - <location line="+1"/> - <source>Convert to Binary</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Convert to Grayscale</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::WindowService</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Services/WindowService.cpp" line="+43"/> - <source>Images</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <location line="+6"/> - <location line="+6"/> - <source>&Window</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-12"/> - <source>&Tile windows</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>&Cascade windows</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>Hide/Show Image dock</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+295"/> - <source>Attention</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>You're going to close all the relative windows, are you sure you want to continue ?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+152"/> - <source>Mask to apply : </source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+64"/> - <source> - masked</source> - <translation type="unfinished"></translation> + <translation type="obsolete">Colors</translation> </message> </context> </TS> diff --git a/app/imageinsa_fr.qm b/app/imageinsa_fr.qm index 199721ebcf7763537f4076d8c5eb929de91eb6f6..ac4e2660efdf5231069e732f32790cc0aeea7d38 100644 GIT binary patch delta 7821 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%0DT5n2UwC{mhQN(Np`_skgM#C?W!=|iJms%= zz*e`Lyt7W+Td<E2Pg)-zlvHSS6f?#`LmtcIv1Zn0a2O|9%#6{_m@PnNGFj%ZISOco z*6o<FkagIK)2t$1UNrc>gM7ej*u9mwOf=Zc5SM2cH5?B7#al7Pjoi!~iSZYW;jYDW z6OH8_$FvuXZSac?5KBBMiDL%&iITY3K^?ii1M|JRVZNK|c7|6Nqg#I%uJfw)de6~D zGi$Ihc8861Wao232l@W-+ilxC{Wh<E@q@g%YXcLx;WLLdd_3rqN@U|^8~O&)fG2|0 z-R+$XpMnq?C<_oQAjVpQS6laMkrdj(i6|~0xwF!cWw)4|4z^)Ha<-UTyKhLt^^_m< zqG0agWdD%(-*zBp%d&REEM^FtgK=1xcwsRYVfJpgFgaB!isU*@?-5Ah|3*KbWFcED zlb)Oq4&rguc^w+&Ob-#Y*WgtaaWX%Z7Rd;wd()~JmqntHTxnut7$^dbMr8TVY^-3h z2Fl(7EO4~JYBFRS4Q9s5ZOiT1U^U#Aa_4eWM147PmtO6kLFM}!nAE(79$u&yp124d z7uVBEmSJ!>ZQT2_+H*<yD~uy39p{CCj@gut_jt5MAThb~>+V;;*Bunga~FUa6gT23 z9P7TuwbOmawu-)AMz+C(tTNq`%qG5_gr~DP&TKAjf=`2&@t&NUU&L_z%$^*(eFzt4 z^^|m@VD58U&xW6@^Chl8>f$~xmC`5`S6SHK0erXcCtUxYXU{H7_bj6$Y>v^+GO20f zLV2z$##&ItPfCNqZcp#W`;~`1X9Ia_)Sg|inaMIC&j|E?v{|qlS`rfbAAkk70v4Z| z7|P9dwkrt67{G^8SpSDWg0a|S5peKppK+=L$(RK<cr{_E1baG>HeQkVBpP@caktXE z{eK?|40zw^RwG^|KsU~k?(5<;EzeC2qkCAew-Bypd`=Dnwpns>?GQ#wE)x;ipD&AC zqk}QCc~GY!mMJoroUHvBct!46hi8)jj@NdF8!7|PR$K|%5#D-mVIeI%dch|*Mj&I{ z`fA1kD>=EiHQtl?5r-!!ylg=mGc2FYE?^w_P)m!|VT5i1Dm$0WM)l)smMJutjaH`# zu<<Obn90sJV6ZW@hR#_WQLc^14POAf()=D*Ghi2jeEhczKB3%*F&}Rp39tO7Cu+|t zz0k^j>jgYsBd9C%1zxlGJP3nYA$H|=6q+4|HqNuC>#&3*vjbC>fw8e5qS;xPg*zi$ zf*)BXgSmjQTMgN`X3-NEgWdhW&SE~xf%oVf<{WOVW3^~GH$1<a%e_4x$Ra*uIPU35 zlCOB768K~ok%VVm<5vsX#80BXO`&~obqjxy6iv}BsfZh6u(|=cxxrW>av9c;ozGZ} zb6K=#i~AWMqRoL+eZnH6qZzBsVzt=#)S%53b2?{}#{@_g-zPy8?s#usF7mJsS9Zv2 za*jKGS-c}HM|MwhI;>8JHsWJr?M{>9NgqYbaxBg)6DC!Qt<d0Too#pD%xrbab1D9! z94_LpFMrMeejwpPV{17j<WEj<f=;$4hj4E?w}_^4pZoc8z4j_+@bUV6NO(H!JSCin zxRLHWAp&0=!kEFU?C&lHWw0hT8)E<l0{4jUTh_Vgq9Q2fbez(iCP6XNarLK)IlYxI zO-f6DR$LhD_Vj*#C{)w2naMI<P^v%JtkexH4TIO81Jjqb0tQ^XVD>Ae*3170hrSeR ze-li8>82vi&vzKg2i0#en~L$lGA6bN3>?4>ecqP~FB#31%xl|lXpT$D9a`X_azC`= zXAJ+iA*=M9$N%^6*XEhwkE^cmZV0P*P1Nbn=RNm(H<$fW{U6?IIQC+%?hO@hUlJ=S K&^E;q(f<GoWhe;% delta 5571 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 diff --git a/app/imageinsa_fr.ts b/app/imageinsa_fr.ts index d467f3e..a621f8e 100644 --- a/app/imageinsa_fr.ts +++ b/app/imageinsa_fr.ts @@ -4,34 +4,29 @@ <context> <name></name> <message> - <location filename="main.cpp" line="+129"/> - <location filename="../test/testgui.cpp" line="+134"/> + <location filename="main.cpp" line="+130"/> <source>&Image</source> <oldsource>Image</oldsource> <translation>&Image</translation> </message> <message> - <location line="+24"/> - <location filename="../test/testgui.cpp" line="+20"/> + <location line="+25"/> <source>&Tools</source> <oldsource>Tools</oldsource> <translation>Ou&tils</translation> </message> <message> <location line="+15"/> - <location filename="../test/testgui.cpp" line="+13"/> - <source>&Encoding</source> - <oldsource>Encoding</oldsource> - <translation>&Encodage</translation> + <source>&Coding</source> + <oldsource>&Encoding</oldsource> + <translation>&Codage</translation> </message> <message> - <location filename="../test/testgui.cpp" line="+8"/> <source>Transforms</source> - <translation>Transformées</translation> + <translation type="vanished">Transformées</translation> </message> <message> - <location filename="main.cpp" line="+13"/> - <location filename="../test/testgui.cpp" line="+8"/> + <location line="+13"/> <source>Analysis</source> <translation>Analyse</translation> </message> @@ -41,9 +36,8 @@ <translation>Couleurs</translation> </message> <message> - <location line="+9"/> <location filename="Services/FilteringService.cpp" line="+38"/> - <location filename="../test/testgui.cpp" line="+9"/> + <location filename="main.cpp" line="+9"/> <source>Filtering</source> <translation>Filtrage</translation> </message> @@ -51,29 +45,24 @@ <context> <name>AboutDialog</name> <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/AboutDialog.cpp" line="+27"/> <source>About</source> - <translation>A propos</translation> + <translation type="vanished">A propos</translation> </message> <message> - <location line="+4"/> <source>This software has been developed at Insa.</source> - <translation>Ce logiciel a été développé à l'INSA Rennes.</translation> + <translation type="vanished">Ce logiciel a été développé à l'INSA Rennes.</translation> </message> <message> - <location line="+4"/> <source>Main authors:</source> - <translation>Principaux auteurs:</translation> + <translation type="vanished">Principaux auteurs:</translation> </message> <message> - <location line="+11"/> <source>Contributors:</source> - <translation>Contributeurs:</translation> + <translation type="vanished">Contributeurs:</translation> </message> <message> - <location line="+13"/> <source>Compiled on %1 at %2</source> - <translation>Compilé le %1 à %2</translation> + <translation type="vanished">Compilé le %1 à %2</translation> </message> </context> <context> @@ -101,7 +90,7 @@ <context> <name>ClassAnalysis</name> <message> - <location filename="Operations/ClassAnalysisOp.cpp" line="+60"/> + <location filename="Operations/ClassAnalysisOp.cpp" line="+61"/> <location line="+19"/> <source>mean</source> <translation>moyenne</translation> @@ -122,49 +111,41 @@ <name>ClassAnalysisDialog</name> <message> <location filename="Operations/ClassAnalysisDialog.ui" line="+14"/> - <location filename="../build/app/ui_ClassAnalysisDialog.h" line="+118"/> <source>Class analysis</source> <translation>Classification</translation> </message> <message> <location line="+8"/> - <location filename="../build/app/ui_ClassAnalysisDialog.h" line="+1"/> <source>Step : </source> <translation>Étape : </translation> </message> <message> <location line="+13"/> - <location filename="../build/app/ui_ClassAnalysisDialog.h" line="+4"/> <source>Classification step</source> <translation>Étape de classification</translation> </message> <message> <location line="-5"/> - <location filename="../build/app/ui_ClassAnalysisDialog.h" line="-1"/> <source>Learning step</source> <translation>Étape d'apprentissage</translation> </message> <message> <location line="+10"/> - <location filename="../build/app/ui_ClassAnalysisDialog.h" line="+2"/> <source>Print file info</source> <translation>Afficher les info. du fichier</translation> </message> <message> <location line="+8"/> - <location filename="../build/app/ui_ClassAnalysisDialog.h" line="+2"/> <source>Window size : </source> <translation>Taille de la fenêtre : </translation> </message> <message> <location line="+23"/> - <location filename="../build/app/ui_ClassAnalysisDialog.h" line="+1"/> <source>File : </source> <translation>Fichier : </translation> </message> <message> <location line="+12"/> - <location filename="../build/app/ui_ClassAnalysisDialog.h" line="+1"/> <source>browse</source> <translation>parcourir</translation> </message> @@ -177,17 +158,16 @@ <context> <name>ClassResult</name> <message> - <location filename="Operations/ClassResultOp.cpp" line="+81"/> <source> Nombre de classes = %1 </source> <oldsource> Nombre de classes = %1 </oldsource> - <translation> + <translation type="vanished"> Nombre de classes = %1 </translation> </message> <message> - <location line="+4"/> + <location filename="Operations/ClassResultOp.cpp" line="+93"/> <source>Valeur de la classe %1 = %2</source> <oldsource>Valeur de la classe %1 = %2 </oldsource> @@ -203,7 +183,7 @@ Nombre de classes = %1 </translation> </translation> </message> <message> - <location line="-22"/> + <location line="-30"/> <source>Critère de zone intérieure : </source> <oldsource>Critère de zone intérieure : </oldsource> <translation>Critère de zone intérieure : </translation> @@ -216,6 +196,16 @@ Nombre de classes = %1 </translation> </message> <message> <location line="+1"/> + <source>Largeur de couronne pour conserver la zone intérieure</source> + <translation>Largeur de couronne pour conserver la zone intérieure</translation> + </message> + <message> + <location line="+1"/> + <source>Largeur de couronne pour conserver la zone frontière</source> + <translation>Largeur de couronne pour conserver la zone frontière</translation> + </message> + <message> + <location line="+2"/> <source><b>Critère de zones (relatifs aux zones totales) : </b></source> <oldsource><b>Critère de zones (relatifs aux zones totales) : </b></oldsource> <translation><b>Critère de zones (relatifs aux zones totales) : </b></translation> @@ -226,7 +216,23 @@ Nombre de classes = %1 </translation> <translation><b>Sélectionner les zones des classes de l'image : </b></translation> </message> <message> - <location line="+59"/> + <location line="+21"/> + <source>------Largeur de couronne pour conserver la zone intérieure : %1 ------</source> + <translation>------Largeur de couronne pour conserver la zone intérieure : %1 ------</translation> + </message> + <message> + <location line="+1"/> + <source>------Largeur de couronne pour conserver la zone frontière : %1 ------ +</source> + <translation>------Largeur de couronne pour conserver la zone frontière : %1 ------</translation> + </message> + <message> + <location line="+2"/> + <source>Nombre de classes = %1 </source> + <translation>Nombre de classes = %1 </translation> + </message> + <message> + <location line="+40"/> <source>Le taux de bon classement en zone intérieure %1 vaut: %2%</source> <oldsource>Le taux de bon classement en zone intérieure %1 vaut: %2%</oldsource> <translation>Le taux de bon classement en zone intérieure %1 vaut : %2%</translation> @@ -287,82 +293,92 @@ Nombre de classes = %1 </translation> <name>ColorDialog</name> <message> <location filename="Operations/ColorDialog.ui" line="+14"/> - <location filename="../build/app/ui_ColorDialog.h" line="+222"/> <source>RGB image generator</source> <translation>Générateur d'image RVB</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> <source>Image size</source> <translation>Taille de l'image</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> <source>Width : </source> <translation>Largeur : </translation> </message> <message> - <location line="+14"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> + <location line="+17"/> <source>Height : </source> <translation>Hauteur : </translation> </message> <message> - <location line="+17"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> + <location line="+20"/> <source>Mode</source> <translation>Mode</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> <source>RGB</source> <translation>RVB</translation> </message> <message> <location line="+10"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> <source>HSV</source> <translation>TSV</translation> </message> <message> <location line="+13"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> <source>Red : </source> <translation>Rouge : </translation> </message> <message> <location line="+14"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> <source>Green : </source> <translation>Vert : </translation> </message> <message> <location line="+14"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> <source>Blue : </source> <translation>Bleu : </translation> </message> <message> <location line="+33"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> <source>Saturation : </source> <translation>Saturation : </translation> </message> <message> - <location line="+14"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> + <location line="+21"/> <source>Value : </source> <translation>Valeur : </translation> </message> <message> <location line="+14"/> - <location filename="../build/app/ui_ColorDialog.h" line="+1"/> + <source>Get a hint</source> + <translation>Une idée</translation> + </message> + <message> + <location line="-21"/> <source>Hue : </source> <translation>Teinte : </translation> </message> + <message> + <location filename="Operations/ColorDialog.cpp" line="+64"/> + <source>A small tip for Qt HSV Color Model</source> + <translation>Une petite astuce pour le modèle de couleur Qt TSV</translation> + </message> +</context> +<context> + <name>ColorimetryOp</name> + <message> + <location filename="Operations/ColorimetryOp.cpp" line="+55"/> + <source>Warning</source> + <translation>Alerte</translation> + </message> + <message> + <location line="+1"/> + <source>Empty image generation is not allowed</source> + <translation>La génération d'images vides n'est pas autorisée</translation> + </message> </context> <context> <name>CombineColorOp</name> @@ -467,43 +483,36 @@ Nombre de classes = %1 </translation> <name>DCTDialog</name> <message> <location filename="Operations/DCTDialog.ui" line="+14"/> - <location filename="../build/app/ui_DCTDialog.h" line="+172"/> <source>DCT encoding</source> <translation>DCT avec encodage</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_DCTDialog.h" line="+1"/> <source>Encoding mode && associated parameters</source> <translation>Mode d'encodage && paramètres associés</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_DCTDialog.h" line="+1"/> <source>Coefficients truncation</source> <translation>Troncature des coefficients</translation> </message> <message> <location line="+34"/> - <location filename="../build/app/ui_DCTDialog.h" line="+1"/> <source>Truncation limit : </source> <translation>Limite de troncature : </translation> </message> <message> <location line="+19"/> - <location filename="../build/app/ui_DCTDialog.h" line="+1"/> <source>Bit allocation matrice</source> <translation>Matrice d'allocation de bits</translation> </message> <message> <location line="+25"/> - <location filename="../build/app/ui_DCTDialog.h" line="+1"/> <source>Initial number of bits : </source> <translation>Nombre de bits initial : </translation> </message> <message> <location line="+37"/> - <location filename="../build/app/ui_DCTDialog.h" line="+1"/> <source>Slope value : </source> <translation>Valeur de la pente : </translation> </message> @@ -687,67 +696,56 @@ tquantdef->GetNumThresholds() = %d</source> </message> <message> <location filename="Operations/DPCMDialog.ui" line="+14"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+209"/> <source>DPCM encoding</source> <translation>Encodage MICD</translation> </message> <message> <location line="+21"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+2"/> <source>Predictor P(X)</source> <translation>Prédicteur P(X)</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>A</source> <translation>A</translation> </message> <message> <location line="+10"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>C</source> <translation>C</translation> </message> <message> <location line="+7"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>( A + C ) / 2</source> <translation>( A + C ) / 2</translation> </message> <message> <location line="+7"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>Modified Graham's</source> <translation>Graham modifié</translation> </message> <message> <location line="+9"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>Q = </source> <translation>Q = </translation> </message> <message> <location line="+41"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>Quantifier</source> <translation>Quantifieur</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>Quantification file :</source> <translation>Fichier de quantification : </translation> </message> <message> <location line="+20"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>Browse</source> <translation>Parcourir</translation> </message> <message> <location line="+28"/> - <location filename="../build/app/ui_DPCMDialog.h" line="+1"/> <source>Open quantification editor</source> <translation>Ouvrir l'éditeur de quantification</translation> </message> @@ -756,31 +754,26 @@ tquantdef->GetNumThresholds() = %d</source> <name>FFTDialog</name> <message> <location filename="Operations/FFTDialog.ui" line="+14"/> - <location filename="../build/app/ui_FFTDialog.h" line="+92"/> <source>Dialog</source> <translation>Dialog</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_FFTDialog.h" line="+1"/> <source>Résultat :</source> <translation>Résultat :</translation> </message> <message> <location line="+8"/> - <location filename="../build/app/ui_FFTDialog.h" line="+1"/> <source>Magnitude + Phase</source> <translation>Amplitude + Phase</translation> </message> <message> <location line="+10"/> - <location filename="../build/app/ui_FFTDialog.h" line="+1"/> <source>Real + Imaginary</source> <translation>Réel + Imaginaire</translation> </message> <message> <location line="+9"/> - <location filename="../build/app/ui_FFTDialog.h" line="+1"/> <source>Centered transform</source> <translation>Transformée centrée</translation> </message> @@ -788,14 +781,19 @@ tquantdef->GetNumThresholds() = %d</source> <context> <name>FFTOp</name> <message> - <location filename="Operations/FFTOp.cpp" line="+96"/> <source>DFT (phase)</source> - <translation>DFT (phase)</translation> + <translation type="vanished">DFT (phase)</translation> + </message> + <message> + <location filename="Operations/FFTOp.cpp" line="+97"/> + <source>DFT (Phase)</source> + <oldsource>DFT (magnitude)</oldsource> + <translation>DFT (Phase)</translation> </message> <message> <location line="+1"/> - <source>DFT (magnitude)</source> - <translation>DFT (amplitude)</translation> + <source>DFT (Magnitude)</source> + <translation>DFT (Magnitude)</translation> </message> </context> <context> @@ -860,23 +858,32 @@ tquantdef->GetNumThresholds() = %d</source> </message> <message> <location line="+1"/> + <source>Linear stretching</source> + <translation>Expansion linéaire</translation> + </message> + <message> + <location line="+18"/> + <source>Linear stretched</source> + <translation>Expansion linéaire</translation> + </message> + <message> <source>Normalize</source> - <translation>Normaliser</translation> + <translation type="vanished">Normaliser</translation> </message> <message> - <location line="+1"/> + <location line="-17"/> <source>Operation : </source> <translation>Opération : </translation> </message> <message> <location line="+13"/> - <source>equalized</source> - <translation>égalisée</translation> + <source>Equalized</source> + <oldsource>equalized</oldsource> + <translation>Egalisée</translation> </message> <message> - <location line="+4"/> <source>normalized</source> - <translation>normalisée</translation> + <translation type="vanished">normalisée</translation> </message> </context> <context> @@ -896,37 +903,31 @@ tquantdef->GetNumThresholds() = %d</source> <name>HoughDialog</name> <message> <location filename="Operations/HoughDialog.ui" line="+14"/> - <location filename="../build/app/ui_HoughDialog.h" line="+145"/> <source>Hough transform</source> <translation>Transformé de Hough</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_HoughDialog.h" line="+1"/> <source>Method</source> <translation>Méthode</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_HoughDialog.h" line="+1"/> <source>Method #1</source> <translation>Méthode n°1</translation> </message> <message> <location line="+10"/> - <location filename="../build/app/ui_HoughDialog.h" line="+1"/> <source>Method #2</source> <translation>Méthode n°2</translation> </message> <message> <location line="+21"/> - <location filename="../build/app/ui_HoughDialog.h" line="+1"/> <source>Angle step : </source> <translation>Pas pour les angles : </translation> </message> <message> <location line="+39"/> - <location filename="../build/app/ui_HoughDialog.h" line="+1"/> <source>Distance step : </source> <translation>Pas pour les distances : </translation> </message> @@ -986,20 +987,17 @@ tquantdef->GetNumThresholds() = %d</source> <name>InverseHoughDialog</name> <message> <location filename="Operations/InverseHoughDialog.ui" line="+14"/> - <location filename="../build/app/ui_InverseHoughDialog.h" line="+105"/> <source>Inverse hough transform</source> <oldsource>Hough reconstruction</oldsource> <translation>Transformée de Hough inverse</translation> </message> <message> <location line="+15"/> - <location filename="../build/app/ui_InverseHoughDialog.h" line="+2"/> <source>Reconstructed image height : </source> <translation>Hauteur de l'image reconstituée : </translation> </message> <message> <location line="-7"/> - <location filename="../build/app/ui_InverseHoughDialog.h" line="-1"/> <source>Reconstructed image width : </source> <translation>Largeur de l'image reconstituée : </translation> </message> @@ -1009,7 +1007,6 @@ tquantdef->GetNumThresholds() = %d</source> </message> <message> <location line="+14"/> - <location filename="../build/app/ui_InverseHoughDialog.h" line="+2"/> <source>Reconstruction threshold : </source> <translation>Seuil de reconstruction : </translation> </message> @@ -1018,56 +1015,47 @@ tquantdef->GetNumThresholds() = %d</source> <name>InversePyramidDialog</name> <message> <location filename="Operations/InversePyramidDialog.ui" line="+14"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+109"/> <source>Pyramidal reconstruction</source> <oldsource>Pyramid reconstruction</oldsource> <translation>Reconstruction pyramidale</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+1"/> <source>Filter : </source> <translation>Filtre : </translation> </message> <message> <location line="+8"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+3"/> <source>triangular</source> <translation>triangulaire</translation> </message> <message> <location line="+5"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+1"/> <source>gaussian</source> <translation>gaussien</translation> </message> <message> <location line="+5"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+1"/> <source>trimodal</source> <translation>trimodal</translation> </message> <message> <location line="+5"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+1"/> <source>rectangular</source> <translation>rectangulaire</translation> </message> <message> <location line="+5"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+1"/> <source>qmf</source> <translation>qmf</translation> </message> <message> <location line="+21"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+2"/> <source>Number of steps in the pyramid : </source> <translation>Nombre d'étages dans la pyramide : </translation> </message> <message> <location line="+33"/> - <location filename="../build/app/ui_InversePyramidDialog.h" line="+1"/> <source>Step to reconstruct :</source> <translation>Étage à reconstruire : </translation> </message> @@ -1075,40 +1063,39 @@ tquantdef->GetNumThresholds() = %d</source> <context> <name>MeanSquareErrorOp</name> <message> - <location filename="Operations/MeanSquaredErrorOp.cpp" line="+84"/> <source>Mean squarred error : %1 (mean error : %2)</source> - <translation>Erreur quadratique moyenne : %1 (erreur moyenne : %2)</translation> + <translation type="vanished">Erreur quadratique moyenne : %1 (erreur moyenne : %2)</translation> + </message> + <message> + <location filename="Operations/MeanSquaredErrorOp.cpp" line="+86"/> + <source>Mean squarred error : %1 (mean absolute error : %2)</source> + <translation>Erreur quadratique moyenne:%1 (erreur absolue moyenne:%2)</translation> </message> </context> <context> <name>MedianDialog</name> <message> <location filename="Operations/MedianDialog.ui" line="+14"/> - <location filename="../build/app/ui_MedianDialog.h" line="+79"/> <source>Dialog</source> <translation>Fenêtre de dialogue</translation> </message> <message> <location line="+12"/> - <location filename="../build/app/ui_MedianDialog.h" line="+1"/> <source>Forme</source> <translation>Forme</translation> </message> <message> <location line="+12"/> - <location filename="../build/app/ui_MedianDialog.h" line="+1"/> <source>Croix</source> <translation>Croix</translation> </message> <message> <location line="+16"/> - <location filename="../build/app/ui_MedianDialog.h" line="+1"/> <source>Carré</source> <translation>Carré</translation> </message> <message> <location line="+42"/> - <location filename="../build/app/ui_MedianDialog.h" line="+1"/> <source>Taille</source> <translation>Taille</translation> </message> @@ -1133,7 +1120,7 @@ tquantdef->GetNumThresholds() = %d</source> <message> <location line="+1"/> <source>Standard deviation : </source> - <translation>Equart type : </translation> + <translation>Ecart type : </translation> </message> <message> <location line="+8"/> @@ -1162,12 +1149,12 @@ tquantdef->GetNumThresholds() = %d</source> <translation>BFilt</translation> </message> <message> - <location line="+12"/> - <location filename="Operations/CombineColorOp.cpp" line="-54"/> - <location filename="Operations/CombineHsvOp.cpp" line="-54"/> - <location filename="Operations/IFFTOp.cpp" line="-150"/> + <location filename="Operations/PointOp.cpp" line="+136"/> <location filename="Operations/NoiseOp.cpp" line="-112"/> - <location filename="Operations/PointOp.cpp" line="+116"/> + <location filename="Operations/IFFTOp.cpp" line="-150"/> + <location filename="Operations/CombineHsvOp.cpp" line="-54"/> + <location filename="Operations/CombineColorOp.cpp" line="-54"/> + <location filename="Operations/BFlitOp.cpp" line="+12"/> <source>Parameters</source> <translation>Paramètres</translation> </message> @@ -1176,10 +1163,10 @@ tquantdef->GetNumThresholds() = %d</source> <translation type="vanished">Amplitude/phase</translation> </message> <message> - <location line="+13"/> + <location filename="Operations/RandomImgOp.cpp" line="+106"/> + <location filename="Operations/PointOp.cpp" line="+149"/> <location filename="Operations/NoiseOp.cpp" line="+41"/> - <location filename="Operations/PointOp.cpp" line="+123"/> - <location filename="Operations/RandomImgOp.cpp" line="+105"/> + <location filename="Operations/BFlitOp.cpp" line="+13"/> <source>Validate</source> <translation>Valider</translation> </message> @@ -1219,13 +1206,13 @@ tquantdef->GetNumThresholds() = %d</source> <translation type="vanished">Entropie de l'image = %1</translation> </message> <message> - <location filename="Operations/FFTOp.cpp" line="-69"/> + <location filename="Operations/FFTOp.cpp" line="-70"/> <source>Fourier transform</source> <oldsource>Discrete Fourier transform</oldsource> <translation>Transformée de Fourrier</translation> </message> <message> - <location filename="Operations/HistogramOp.cpp" line="-35"/> + <location filename="Operations/HistogramOp.cpp" line="-31"/> <source>Histogram operations</source> <translation>Opérations sur histogramme</translation> </message> @@ -1235,19 +1222,19 @@ tquantdef->GetNumThresholds() = %d</source> <translation>Huffman</translation> </message> <message> - <location filename="Operations/MeanSquaredErrorOp.cpp" line="-50"/> + <location filename="Operations/MeanSquaredErrorOp.cpp" line="-52"/> <source>Mean squared error</source> <translation>Erreur quadratique moyenne</translation> </message> <message> - <location line="+11"/> <location filename="Operations/SignalToNoiseOp.cpp" line="+46"/> + <location filename="Operations/MeanSquaredErrorOp.cpp" line="+11"/> <source>Compare to...</source> <translation>Comparer à ...</translation> </message> <message> <location line="+8"/> - <location filename="Operations/SignalToNoiseOp.cpp" line="+8"/> + <location filename="Operations/MeanSquaredErrorOp.cpp" line="+8"/> <source>Compare %1 to : </source> <translation>Comparer %1 à : </translation> </message> @@ -1257,7 +1244,7 @@ tquantdef->GetNumThresholds() = %d</source> <translation>Ajouter du bruit</translation> </message> <message> - <location filename="Operations/PointOp.cpp" line="-195"/> + <location filename="Operations/PointOp.cpp" line="-240"/> <source>Pixel operations</source> <translation>Opération sur les pixels</translation> </message> @@ -1271,6 +1258,10 @@ tquantdef->GetNumThresholds() = %d</source> <source>Quantification</source> <translation>Quantification</translation> </message> + <message> + <source>Resampling (Enlarge/Reduce)</source> + <translation type="vanished">Re-échantillonage (Agrandir/Réduire)</translation> + </message> <message> <location line="+14"/> <source> @@ -1307,7 +1298,7 @@ Canal %d : <translation>Générer une image aléatoire</translation> </message> <message> - <location line="+92"/> + <location line="+105"/> <location line="+20"/> <source>Random image</source> <translation>Image aléatoire</translation> @@ -1326,8 +1317,13 @@ Canal %d : <message> <location filename="Operations/ScalingOp.cpp" line="+43"/> <location line="+16"/> + <source>Scaling (Enlarge/Reduce)</source> + <oldsource>Scaling (enlarge/reduce)</oldsource> + <translation>Re-échantillonage (Agrandir/Réduire)</translation> + </message> + <message> <source>Scaling</source> - <translation>Echantillonnage</translation> + <translation type="vanished">Re-échantillonage (agrandir/réduire)</translation> </message> <message> <location filename="Operations/SignalToNoiseOp.cpp" line="-20"/> @@ -1335,8 +1331,8 @@ Canal %d : <translation>Rapport signal-bruit</translation> </message> <message> - <location filename="Operations/SinusSynthesisOp.cpp" line="+39"/> - <location line="+106"/> + <location filename="Operations/SinusSynthesisOp.cpp" line="+40"/> + <location line="+120"/> <source>Sinus synthesis</source> <translation>Synthèse image sinus</translation> </message> @@ -1398,31 +1394,31 @@ Canal %d : </message> <message> <location filename="Operations/InversePyramidOp.cpp" line="+31"/> - <source>Pyramidal reconstruction</source> - <oldsource>Reconstruct pyramid</oldsource> - <translation>Reconstruction pyramidale</translation> + <source>Laplacian pyramidal reconstruction</source> + <oldsource>Pyramidal reconstruction</oldsource> + <translation>Reconstruction pyramidale laplacienne</translation> </message> <message> - <location line="+10"/> - <location line="+5"/> <location filename="Operations/PyramidOp.cpp" line="+44"/> <location line="+5"/> + <location filename="Operations/InversePyramidOp.cpp" line="+11"/> + <location line="+5"/> <source>The operation can't be applied on this image</source> <translation>L'opération ne peut pas être appliquée sur cette image</translation> </message> <message> - <location line="-4"/> + <location filename="Operations/InversePyramidOp.cpp" line="-4"/> <source>The image width must be twice the image height.</source> <translation>La largeur de l'image doit être deux fois la hauteur de l'image.</translation> </message> <message> - <location line="+5"/> <location filename="Operations/PyramidOp.cpp" line="+1"/> + <location filename="Operations/InversePyramidOp.cpp" line="+5"/> <source>The image dimensions must be power of 2.</source> <translation>Les dimensions de l'images doivent être puissances de 2.</translation> </message> <message> - <location filename="Operations/PyramidOp.cpp" line="-18"/> + <location line="-18"/> <source>Pyramidal decomposition</source> <translation>Décomposition pyramidale</translation> </message> @@ -1432,7 +1428,7 @@ Canal %d : <translation>La largeur de l'image doit être égale à sa hauteur.</translation> </message> <message> - <location line="+33"/> + <location line="+35"/> <location line="+10"/> <source>Gaussian</source> <translation>Gaussien</translation> @@ -1472,19 +1468,21 @@ Canal %d : <translation type="vanished">Décomposition pyamidale laplacienne</translation> </message> <message> - <location filename="Operations/ClassResultOp.cpp" line="-99"/> + <location filename="Operations/ClassResultOp.cpp" line="-107"/> <source>Classification results</source> <translation>Résultats de classification</translation> </message> <message> - <location filename="Operations/ColorimetryOp.cpp" line="+34"/> - <source>Generate RGB image</source> - <translation>Générer une image RVB</translation> + <location filename="Operations/ColorimetryOp.cpp" line="-21"/> + <source>Generate RGB/HSV image</source> + <oldsource>Generate RGB image</oldsource> + <translation>Générer une image RVB/TSV</translation> </message> <message> <location line="+11"/> - <source>RGB image generator</source> - <translation>Générateur d'image RVB</translation> + <source>RGB/HSV image generator</source> + <oldsource>RGB image generator</oldsource> + <translation>Générateur d'image RVB/TSV</translation> </message> <message> <location filename="Operations/IFFTOp.cpp" line="-11"/> @@ -1492,7 +1490,7 @@ Canal %d : <translation>Transformée de Fourier inverse</translation> </message> <message> - <location filename="Operations/ClassAnalysisOp.cpp" line="-45"/> + <location filename="Operations/ClassAnalysisOp.cpp" line="-46"/> <source>Supervised classification</source> <translation>Classification supervisée</translation> </message> @@ -1510,7 +1508,7 @@ Canal %d : Débit(Huffman) = %.4f</translation> </message> <message> - <location filename="Algorithms/Pyramid.cpp" line="+639"/> + <location filename="Algorithms/Pyramid.cpp" line="+641"/> <location line="+20"/> <source>L'entropie de l'etage %d est %1f </source> @@ -1571,6 +1569,21 @@ Le débit vaut : %5.2f <source>The image is not in color.</source> <translation>L'image n'est pas en couleur.</translation> </message> + <message> + <location line="+19"/> + <source>Hue</source> + <translation>Teinte</translation> + </message> + <message> + <location line="+1"/> + <source>Saturation</source> + <translation>Saturation</translation> + </message> + <message> + <location line="+1"/> + <source>Value</source> + <translation>Valeur</translation> + </message> <message> <location filename="Operations/UCharConvertDialog.cpp" line="+37"/> <source>Convert to UChar</source> @@ -1714,22 +1727,25 @@ Le débit vaut : %5.2f <translation><i>Décaler et mettre à l'echelle : Ajoute un décalge de 127 et effectue une mise à l'echelle</i></translation> </message> <message> - <location filename="Operations/PointOp.cpp" line="+349"/> + <location filename="Operations/PointOp.cpp" line="+418"/> <source>Pas de conversion [min : 0, max : 255]</source> <translation>Pas de conversion [min : 0, max : 255]</translation> </message> + <message> + <location filename="Operations/AbsoluteConvertOp.cpp" line="+33"/> + <source>Convert to Absolute</source> + <translation>Convertir en Absolu</translation> + </message> </context> <context> <name>PlugOperation</name> <message> - <location filename="../core/PlugOperation.cpp" line="+77"/> <source>Parameters</source> - <translation>Paramètres</translation> + <translation type="vanished">Paramètres</translation> </message> <message> - <location line="+9"/> <source>Validate</source> - <translation>Valider</translation> + <translation type="vanished">Valider</translation> </message> </context> <context> @@ -1780,46 +1796,145 @@ Le débit vaut : %5.2f <context> <name>PointOp</name> <message> - <location filename="Operations/PointOp.cpp" line="-272"/> + <location filename="Operations/PointOp.cpp" line="-322"/> <source>Second operand</source> <translation>Second opérande</translation> </message> <message> - <location line="+5"/> + <location line="+1"/> <source>Value</source> <translation>Valeur</translation> </message> + <message> + <location line="+1"/> + <source>Enter a real number in the blank space below as the second operand</source> + <translation>Entrez un nombre réel dans l'espace vide ci-dessous comme le second opérande</translation> + </message> <message> <location line="+1"/> <source>Image</source> <translation>Image</translation> </message> <message> - <location line="+30"/> + <location line="+1"/> + <source>Select an image as the second operand</source> + <translation>Sélectionnez une image comme deuxième opérande</translation> + </message> + <message> + <location line="+4"/> + <source>Output the result image in uchar format</source> + <translation>Sortie de l'image de résultat au format uchar</translation> + </message> + <message> + <location line="+2"/> + <source>Output the result image in double format</source> + <translation>Sortie l'image de résultat au format double</translation> + </message> + <message> + <location line="+26"/> + <source>Add an offset of 127 to fit negative values</source> + <translation>Ajoutez un décalage de 127 pour ajuster les valeurs négatives</translation> + </message> + <message> + <location line="+2"/> + <source>Map the value of each pixel to the range of 0-255 proportionally</source> + <translation>Mettre à l'échelle la valeur de chaque pixel dans la plage de 0 à 255</translation> + </message> + <message> + <location line="+1"/> <source>Explode colors</source> <translation>Eclater les couleurs</translation> </message> + <message> + <location line="+1"/> + <source>Check this option to execute the manipulation by channel</source> + <translation>Cochez cette option pour exécuter la manipulation par canal</translation> + </message> + <message> + <location line="+29"/> + <source>Supported operations list which takes a value as operand: + The input operand will be rounded down for shift operations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Supported operations list whick takes an image as operand: + The bit-wise NOT operation will automatically ignore the second image</source> + <translation type="unfinished"></translation> + </message> <message> <source>Double Result</source> <translation type="vanished">Résultat Double</translation> </message> <message> - <location line="-35"/> + <location line="-64"/> <source>UChar</source> <translation>UChar</translation> </message> <message> - <location line="+1"/> + <location line="+2"/> <source>Double</source> <translation>Double</translation> </message> <message> - <location line="+2"/> + <location line="-3"/> <source>Output image</source> <translation>Image en sortie</translation> </message> <message> - <location line="+27"/> + <location line="-31"/> + <source>! (bit-wise NOT)</source> + <translation>! (NON bit-à -bit)</translation> + </message> + <message> + <location line="+0"/> + <location line="+2"/> + <source>& (bit-wise AND)</source> + <translation>& (ET bit-à -bit)</translation> + </message> + <message> + <location line="-2"/> + <location line="+2"/> + <source>| (bit-wise OR)</source> + <translation>| (OU bit-à -bit)</translation> + </message> + <message> + <location line="-2"/> + <location line="+2"/> + <source>^ (bit-wise XOR)</source> + <translation>^ (XOR bit-à -bit)</translation> + </message> + <message> + <location line="-2"/> + <location line="+1"/> + <location line="+1"/> + <location line="+1"/> + <source>&& (logical AND)</source> + <translation>&& (ET logique)</translation> + </message> + <message> + <location line="-3"/> + <location line="+1"/> + <location line="+1"/> + <location line="+1"/> + <source>|| (logical OR)</source> + <translation>|| (OU logique)</translation> + </message> + <message> + <location line="-3"/> + <location line="+1"/> + <location line="+1"/> + <location line="+1"/> + <source>^^ (logical XOR)</source> + <translation>^^ (XOR logique)</translation> + </message> + <message> + <location line="-2"/> + <source>!! (logical NOT)</source> + <translation>!! (NON logique)</translation> + </message> + <message> + <location line="+56"/> <source>Options</source> <translation>Options</translation> </message> @@ -1829,7 +1944,7 @@ Le débit vaut : %5.2f <translation>Décalage</translation> </message> <message> - <location line="+1"/> + <location line="+2"/> <source>Scaling</source> <translation>Mise à l'échelle</translation> </message> @@ -1846,71 +1961,61 @@ Le débit vaut : %5.2f <name>PyramidDialog</name> <message> <location filename="Operations/PyramidDialog.ui" line="+14"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+139"/> <source>Pyramidal decomposition</source> <translation>Décomposition pyramidale</translation> </message> <message> <location line="+6"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+1"/> <source>Type of pyramid</source> <translation>Type de pyramide</translation> </message> <message> <location line="+6"/> <location line="+35"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+1"/> - <location line="+6"/> <source>gaussian</source> <translation>gaussien</translation> </message> <message> <location line="-25"/> - <location filename="../build/app/ui_PyramidDialog.h" line="-5"/> <source>laplacian</source> <translation>laplacien</translation> </message> <message> <location line="+12"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+1"/> <source>Filter : </source> <translation>Filtre : </translation> </message> <message> <location line="+8"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+3"/> <source>triangular</source> <translation>triangulaire</translation> </message> <message> <location line="+10"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+2"/> <source>trimodal</source> <translation>trimodal</translation> </message> <message> <location line="+5"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+1"/> <source>rectangular</source> <translation>rectangulaire</translation> </message> <message> <location line="+5"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+1"/> <source>qmf</source> <translation>qmf</translation> </message> <message> <location line="+8"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+2"/> - <source>Number of steps : </source> - <translation>Nombre d'étage : </translation> + <source>Number of levels : </source> + <oldsource>Number of steps : </oldsource> + <translation type="unfinished">Nombre d'étage : </translation> </message> <message> <location line="+21"/> - <location filename="../build/app/ui_PyramidDialog.h" line="+1"/> - <source>Create only one step :</source> - <translation>Créer un étage unique: </translation> + <source>Create only one level :</source> + <oldsource>Create only one step :</oldsource> + <translation type="unfinished">Créer un étage unique: </translation> </message> <message> <location filename="Operations/PyramidDialog.cpp" line="+41"/> @@ -1983,17 +2088,17 @@ Le débit vaut : %5.2f <translation>Non linéaire à valeurs moyennes</translation> </message> <message> - <location line="+2"/> + <location line="+3"/> <source>Custom</source> <translation>Personnalisée</translation> </message> <message> - <location line="+1"/> + <location line="-1"/> <source>LloydMax</source> <translation>LloydMax</translation> </message> <message> - <location line="+2"/> + <location line="+3"/> <source>Quantification : </source> <translation>Quantification : </translation> </message> @@ -2101,7 +2206,7 @@ Le débit vaut : %5.2f <context> <name>RandomImgOp</name> <message> - <location filename="Operations/RandomImgOp.cpp" line="-106"/> + <location filename="Operations/RandomImgOp.cpp" line="-119"/> <source>Parameters</source> <translation>Paramètres</translation> </message> @@ -2147,6 +2252,16 @@ Le débit vaut : %5.2f <source> to </source> <translation> à </translation> </message> + <message> + <location line="+24"/> + <source>Warning</source> + <translation type="unfinished">Alerte</translation> + </message> + <message> + <location line="+1"/> + <source>Empty image generation is not allowed</source> + <translation type="unfinished">La génération d'images vides n'est pas autorisée</translation> + </message> </context> <context> <name>RejectionRingOp</name> @@ -2278,7 +2393,7 @@ Le débit vaut : %5.2f <context> <name>SinusSynthesisOp</name> <message> - <location filename="Operations/SinusSynthesisOp.cpp" line="-95"/> + <location filename="Operations/SinusSynthesisOp.cpp" line="-109"/> <source>Sinus synthesis</source> <translation>Synthèse sinus</translation> </message> @@ -2308,7 +2423,7 @@ Le débit vaut : %5.2f <translation>Taille de l'image (hauteur=largeur) : </translation> </message> <message> - <location line="+1"/> + <location line="+3"/> <source>Signal period (pixel) : </source> <translation>Période du signal (pixel) : </translation> </message> @@ -2322,6 +2437,16 @@ Le débit vaut : %5.2f <source>Niveaux de gris : </source> <translation>Niveaux de gris : </translation> </message> + <message> + <location line="+17"/> + <source>Warning</source> + <translation type="unfinished">Alerte</translation> + </message> + <message> + <location line="+1"/> + <source>Image size can not be zero</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>StructElemWindow</name> @@ -2957,462 +3082,69 @@ Le débit vaut : %5.2f </message> </context> <context> - <name>genericinterface::ColumnView</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/ColumnView.cpp" line="+28"/> - <source>Column Profile for column number %1</source> - <translation type="unfinished"></translation> - </message> + <name>genericinterface::DoubleImageWindow</name> <message> - <location line="+1"/> - <source>Pixel Value</source> - <translation type="unfinished"></translation> + <source>Crop</source> + <translation type="obsolete">Rogner</translation> </message> <message> - <location line="+1"/> - <source>Line number</source> - <translation type="unfinished"></translation> + <source>Color</source> + <translation type="obsolete">Couleur</translation> </message> </context> <context> - <name>genericinterface::ColumnWindow</name> + <name>genericinterface::FileService</name> <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/ColumnWindow.cpp" line="+28"/> - <source>Column profile</source> - <translation type="unfinished"></translation> + <source>Open a file</source> + <translation type="obsolete">Ouvrir un fichier</translation> </message> </context> <context> - <name>genericinterface::DoubleImageWindow</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/DoubleImageWindow.cpp" line="+77"/> - <source>Disable Offset</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+7"/> - <source>Offset (127)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Crop</source> - <translation type="unfinished">Rogner</translation> - </message> + <name>genericinterface::GenericHistogramView</name> <message> - <location line="+1"/> - <source>Copy & crop</source> - <translation type="unfinished"></translation> + <source>Black</source> + <translation type="obsolete">Noir</translation> </message> <message> - <location line="+29"/> - <source>Selected</source> - <translation type="unfinished"></translation> + <source>Red</source> + <translation type="obsolete">Rouge</translation> </message> <message> - <location line="+9"/> - <location line="+15"/> - <location line="+95"/> - <location line="+28"/> - <source>Color</source> - <translation type="unfinished">Couleur</translation> + <source>Alpha</source> + <translation type="obsolete">Alpha</translation> </message> <message> - <location line="-132"/> - <source>Hovered</source> - <translation type="unfinished"></translation> + <source>Green</source> + <translation type="obsolete">Vert</translation> </message> <message> - <location line="+61"/> - <source>Pixels Grid</source> - <translation type="unfinished"></translation> + <source>Blue</source> + <translation type="obsolete">Bleu</translation> </message> </context> <context> - <name>genericinterface::FileService</name> + <name>genericinterface::ImageWindow</name> <message> - <location filename="../lib/detiq-t/GenericInterface/Services/FileService.cpp" line="+43"/> - <location line="+50"/> - <location line="+5"/> - <source>&File</source> - <translation type="unfinished"></translation> + <source>Image</source> + <translation type="obsolete">Image</translation> </message> +</context> +<context> + <name>genericinterface::MorphoMatService</name> <message> - <location line="-54"/> - <location line="+31"/> - <source>&Open</source> - <translation type="unfinished"></translation> + <location filename="Services/MorphoMatService.cpp" line="+58"/> + <source>&Erosion</source> + <translation>&Erosion</translation> </message> <message> - <location line="-26"/> - <source>Save &As</source> - <translation type="unfinished"></translation> + <location line="+1"/> + <source>&Dilatation</source> + <translation>&Dilatation</translation> </message> <message> - <location line="+6"/> - <source>&Copy</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+25"/> - <source>Language</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+120"/> - <source>Save a file</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>PNG image (*.png);;BMP image (*.bmp);; JPEG image(*.jpg *.jpeg);; VFF image (*.vff)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+34"/> - <source>&%1 %2</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+20"/> - <source>Open a file</source> - <translation type="unfinished">Ouvrir un fichier</translation> - </message> - <message> - <location line="+0"/> - <source>Supported image (*.png *.bmp *.jpg *.jpeg *.vff);; PNG image (*.png);;BMP image (*.bmp);; JPEG image(*.jpg *.jpeg);; VFF image (*.vff)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+19"/> - <source>Change current language</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>The current language will be modified at next startup. Would you like to restart now?</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::GenericHistogramView</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/GenericHistogramView.cpp" line="+111"/> - <source>Histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Number of specimen</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Pixel value</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+60"/> - <source>Black</source> - <translation type="unfinished">Noir</translation> - </message> - <message> - <location line="+2"/> - <source>Red</source> - <translation type="unfinished">Rouge</translation> - </message> - <message> - <location line="+4"/> - <location line="+8"/> - <source>Alpha</source> - <translation type="unfinished">Alpha</translation> - </message> - <message> - <location line="-6"/> - <source>Green</source> - <translation type="unfinished">Vert</translation> - </message> - <message> - <location line="+3"/> - <source>Blue</source> - <translation type="unfinished">Bleu</translation> - </message> - <message> - <location line="+6"/> - <source>Channel</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::GenericHistogramWindow</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/GenericHistogramWindow.cpp" line="+78"/> - <location line="+150"/> - <source>Hovered</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-145"/> - <location line="+150"/> - <source>Value 1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-145"/> - <location line="+150"/> - <source>Value 2</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-144"/> - <source>Save As Image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+67"/> - <source>Bad object type</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>Only images can be saved to a file.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Unknown exception</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+15"/> - <source>Save a file</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>PNG image (*.png);;BMP image (*.bmp);; JPEG image(*.jpg *.jpeg);; VFF image (*.vff)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+65"/> - <source>C: %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>C: %1, A: %2</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>R: %1, G: %2, B: %3</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>R: %1, G: %2, B: %3, A: %4</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::GenericInterface</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/GenericInterface.cpp" line="+56"/> - <location line="+180"/> - <location line="+1"/> - <source>&Help</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-181"/> - <source>&About</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+32"/> - <location line="+100"/> - <source>Interface's integrity compromised</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-99"/> - <source>An error occurred in the addition of a new service. The interface may not offer all the expected features. See the log file for more informations.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+100"/> - <source>An error occurred in the addition of a service. The interface may not offer all the expected features. See the log file for more informations.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+44"/> - <location line="+1"/> - <source>&Window</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+49"/> - <location line="+1"/> - <source>&File</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>&Exit</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::HistogramView</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/HistogramView.cpp" line="+30"/> - <location line="+11"/> - <source>Histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-8"/> - <location line="+11"/> - <source>Cumulated histogram</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::HistogramWindow</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/HistogramWindow.cpp" line="+29"/> - <location line="+11"/> - <source>Histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-8"/> - <location line="+11"/> - <source>Cumulated histogram</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::ImageWindow</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/ImageWindow.cpp" line="+86"/> - <location line="+100"/> - <source>Save As</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-97"/> - <source>Zoom + (Ctrl+Scroll Wheel)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Zoom - (Ctrl+Scroll Wheel)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Rename</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Apply mask</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Copy image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+35"/> - <source>Image</source> - <translation type="unfinished">Image</translation> - </message> - <message> - <location line="+11"/> - <location line="+270"/> - <source>Zoom</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-264"/> - <source>Selection mode</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+7"/> - <source>Hand mode</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+8"/> - <source>Select all</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+8"/> - <source>Zoom +</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+8"/> - <source>Zoom -</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+149"/> - <source>Bad object type</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>Only images can be saved to a file.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> - <source>Unknown exception</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+14"/> - <source>Save a file</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>PNG image (*.png);;BMP image (*.bmp);; JPEG image(*.jpg *.jpeg);; VFF image (*.vff)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+95"/> - <source>Rename image</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>New name:</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::MorphoMatService</name> - <message> - <location filename="Services/MorphoMatService.cpp" line="+58"/> - <source>&Erosion</source> - <translation>&Erosion</translation> - </message> - <message> - <location line="+1"/> - <source>&Dilatation</source> - <translation>&Dilatation</translation> - </message> - <message> - <location line="+1"/> - <source>&Opening</source> - <translation>&Ouverture</translation> + <location line="+1"/> + <source>&Opening</source> + <translation>&Ouverture</translation> </message> <message> <location line="+1"/> @@ -3440,317 +3172,22 @@ Le débit vaut : %5.2f <translation>Elément &structurant</translation> </message> </context> -<context> - <name>genericinterface::NavigationDock</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/NavBar/NavigationDock.cpp" line="+45"/> - <source>Close all image from the selection</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::ProjectionHistogramView</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/ProjectionHistogramView.cpp" line="+29"/> - <source>Horizontal Projection Histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Line number</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Vertical Projection Histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Column number</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <source>Number of pixels >= %1</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::ProjectionHistogramWindow</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/ProjectionHistogramWindow.cpp" line="+29"/> - <source>Horizontal Projection Histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Vertical Projection Histogram</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::RadioPanel</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/GridView.cpp" line="+60"/> - <source>R</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>G</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>B</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::RowView</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/RowView.cpp" line="+28"/> - <source>Line Profile for line number %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Pixel Value</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Column number</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::RowWindow</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/RowWindow.cpp" line="+28"/> - <source>Row profile</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::SelectionWidget</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/ImageWindow.cpp" line="-400"/> - <source>Selection : </source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>x:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>y:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>width:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>height:</source> - <translation type="unfinished"></translation> - </message> -</context> <context> <name>genericinterface::StandardImageWindow</name> <message> - <location filename="../lib/detiq-t/GenericInterface/Widgets/ImageWidgets/StandardImageWindow.cpp" line="+47"/> - <source>Unknown file format !</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+12"/> - <source>Unknown exception</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+4"/> - <source>Error while opening file</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+39"/> <source>Crop</source> - <translation type="unfinished">Rogner</translation> - </message> - <message> - <location line="+1"/> - <source>Copy and crop</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+29"/> - <source>Selected</source> - <translation type="unfinished"></translation> + <translation type="obsolete">Rogner</translation> </message> <message> - <location line="+9"/> - <location line="+15"/> - <location line="+125"/> - <location line="+15"/> <source>Color</source> - <translation type="unfinished">Couleur</translation> - </message> - <message> - <location line="-149"/> - <source>Hovered</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+47"/> - <location line="+12"/> - <source>Threshold selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-12"/> - <location line="+12"/> - <source>Enter the threshold value -(only pixels superior or equal to this value will be counted)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+12"/> - <source>Line selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>Select the line to project</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+13"/> - <source>Column selection</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>Select the column to project</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+12"/> - <source>Pixels Grid</source> - <translation type="unfinished"></translation> + <translation type="obsolete">Couleur</translation> </message> </context> <context> <name>genericinterface::UtilityService</name> <message> - <location filename="../lib/detiq-t/GenericInterface/Services/UtilityService.cpp" line="+30"/> - <source>&Show</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Cumulated Histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Horizontal projection histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Vertical projection histogram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Line Profile</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Column Profile</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> - <source>Pixels grid</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> <source>Colors</source> - <translation type="unfinished">Couleurs</translation> - </message> - <message> - <location line="+1"/> - <source>Convert to Binary</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Convert to Grayscale</source> - <translation type="unfinished"></translation> - </message> -</context> -<context> - <name>genericinterface::WindowService</name> - <message> - <location filename="../lib/detiq-t/GenericInterface/Services/WindowService.cpp" line="+43"/> - <source>Images</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> - <location line="+6"/> - <location line="+6"/> - <source>&Window</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-12"/> - <source>&Tile windows</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>&Cascade windows</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+6"/> - <source>Hide/Show Image dock</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+295"/> - <source>Attention</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+0"/> - <source>You're going to close all the relative windows, are you sure you want to continue ?</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+152"/> - <source>Mask to apply : </source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+64"/> - <source> - masked</source> - <translation type="unfinished"></translation> + <translation type="obsolete">Couleurs</translation> </message> </context> </TS> diff --git a/app/main.cpp b/app/main.cpp index 0db6b27..956361b 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -167,7 +167,7 @@ int main(int argc, char** argv) - BuiltinOpSet* encode = new BuiltinOpSet(qApp->translate("", "&Encoding").toStdString()); + BuiltinOpSet* encode = new BuiltinOpSet(qApp->translate("", "&Coding").toStdString()); encode->addOperation(new HuffmanOp()); encode->addOperation(new DPCMEncodingOp()); diff --git a/lib/detiq-t b/lib/detiq-t index b918c35..65aa979 160000 --- a/lib/detiq-t +++ b/lib/detiq-t @@ -1 +1 @@ -Subproject commit b918c357c0daaab2c179a99802732d7ce0804437 +Subproject commit 65aa97923240607c9d890e5883d1dcaf18790b46 -- GitLab