diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index 58b224edd442040d287aade3801141968e6b4293..8613d59f37890de976adcb312e6f85f90c4b0e4c 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 bfa4c26a520acb108e8383bf1e7c337952d72a51..98573632f12382049ef22c54f1a4deadb316c99e 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 d5ccc0107dd9cc31a634a69d09d07d4ae5ae4e18..93ccf6bc914665afeeba25145e96bdf982f3f481 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 dd31112d76645f8649ba92fe21ab652d89f0d518..da61e9d6a275db7b8f5c61520401a2c2e5d903a3 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 675e697353b845c96c5661fa7ff2e8ddc40cacff..d8ab22423a53b47d5ee91a4a505b76b38061ffa6 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 4d1c2a62702c47e3e37bf531f78399c1f3071a39..92f708fbed4014b30304a7205a6f71c097c29920 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 8681bd4821b0334e7332e2ee196d5ecaf55256b0..57b7ff9c880b8483dd27c923e3374d1a84954343 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 5621ddc999d4e58a31ed99f4d2a59e6520c5a67e..a33a35030be859134ad0b6e6031640bb09642da7 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 ca4beddba5b215506fca47d9846d2501a0703f81..5743f60043d0597bdbc6b20f45dff2f89a4cf96a 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 f7777334a23d10da1882bb19b651ab0298f561ee..79d869fdc89be253c2e5d9638a6b6dda10fdfb07 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 3a3b41d90be5651e4b5c468ad1fc87a45a158176..02a78bbd447aa33146529978f9c1487269d31472 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 Binary files a/app/imageinsa_en.qm and b/app/imageinsa_en.qm differ diff --git a/app/imageinsa_en.ts b/app/imageinsa_en.ts index 9fee365b99ad23d097cc9fe7a9f7e773a333ba61..11417b20a307adfa039ca8b14fd8fb8866630e70 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 Binary files a/app/imageinsa_fr.qm and b/app/imageinsa_fr.qm differ diff --git a/app/imageinsa_fr.ts b/app/imageinsa_fr.ts index d467f3ec7c22d7285bd5222671f1fcaa40d1e3bf..a621f8ebb975f8a2d0dc240aeb90963899bc8567 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 0db6b27dbc70aca24a394e2c7979926a8bd0cea7..956361b3f7f94ab699e7fdd3a0f7b4c04115ab40 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 b918c357c0daaab2c179a99802732d7ce0804437..65aa97923240607c9d890e5883d1dcaf18790b46 160000 --- a/lib/detiq-t +++ b/lib/detiq-t @@ -1 +1 @@ -Subproject commit b918c357c0daaab2c179a99802732d7ce0804437 +Subproject commit 65aa97923240607c9d890e5883d1dcaf18790b46