Summary: | raw import tool does not use general digikam settings | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | S. Burmeister <sven.burmeister> |
Component: | BatchQueueManager-RAWProcessing | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | caulier.gilles, marcel.wiesweg, tschenser |
Priority: | NOR | ||
Version: | 1.0.0 | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 1.2.0 | |
Sentry Crash Report: | |||
Attachments: |
bqm enabling automatic brightness although disabled in digikam's settings
same picture edited/imported manually to make sure automatic brightness is really not used. |
Description
S. Burmeister
2009-11-22 12:21:13 UTC
Don't ask me why, but it seems to work for the automatic brigthness now. However the noise reduction is still disabled and the quality in the decoding is set to "bilinear" instead of AHD which is what I chose in digikam's general settings. If I change the settings within the editor to AHD and enable the noise reduction and click on "reset" below the raw import utility after that, it sets quality to bilinear and disables the noise reduction again. While it works if I open the picture manually, if I use the BQM to resize, sharpen and convert RAW imagesto JPG, the automatic brightness seems to be enabled again and since the import utility is used automatically, i.e. one cannot change its settings within the BQM, there is no way to disable the "automatic brightness" when using the BQM. BQM use default RAW settings from digiKam config panel. There is not RAW settings to assign to batch queue. it's planed... Gilles Caulier This is NOT a BQM issue, it is an issue for everything that uses the raw import utility. The raw import does not stick to the default settings from digiKam config panel, no matter whether one uses it implicitly via the BQm or explicetly via the editor. Still valid for Rev: 1054504 To reproduce do the following: 1. close digikam and move the ~/.kde4/share/config/digikamrc. all configs should be gone. 2. Open digikam and tell the wizard to NOT import RAW images automatically but ask the user for the settings. 3. Open digikam's settings, go to the RAW decoding section. Set the quality to AHD, disable "automatic brigthenss" and enable the noise reduction. click OK. 4. Quit digikam and re-open, to make sure it reads the new settings. Open digikam's settings and check that the changes are still there. 5. Open a RAW image in the editor and have a look at the RAW import utility settings in the pane on the right-hand side. Quality is set to "bilinear" rather than AHD. "Automatic brightness" is enabled rather than disabled and noise reduction is disabled rather than enabled. Digikam fails to apply the default settings whenever it performs raw decoding. If one tells the first-run wizard to apply the raw settings automatically it works, i.e. it uses the common digikam settings. However, even in that scenario using e.g. "convert to PNG" in the BQM fails, as it enables e.g. "automatic brigtness" although it is disabled in digikam's settings. So there seems to be a difference in the way the settings are read for importing RAW pictures. Using the raw import utility manually fails, BQM fails. Automatic importing when opening the editor works. digikam Rev: 1055981 kipi-plugins Rev: 1055364 Created attachment 38810 [details]
bqm enabling automatic brightness although disabled in digikam's settings
Created attachment 38811 [details]
same picture edited/imported manually to make sure automatic brightness is really not used.
I cropped the same part of the picture to show the difference. BQM should use digikam's settings but does not and enables automatic brightness. digikam Rev: 1057563 Let me find out if anything here is critical for the 1.0 release: I open a raw, and change settings in the raw decoding tool. Then I import. For the next RAW image the settings in the raw decoding tool are remembered as I just changed them. The settings from the Configure dialog do not influence these settings. The BQM raw import uses the settings from the setup dialog. Is this correct? Marcel, For RawImport yes. For BQM, no. set 16 bits color depth to general RAW decoding settings, and convert a RAW file to PNG with BQM : It still 8 bits color depth because internally, BatchTool use default Raw decoding settings from DImg container. Look there : http://lxr.kde.org/source/extragear/graphics/digikam/utilities/queuemanager/batchtool.cpp#292 We use default argument to DImg::load() about RAW Decoding Settings. To fix it : - add a mechanism in BQM main windows to handle general rawdecoding settings when setup is changed and pass it to BatchToolManager class. - add a mechanism to BatchTool to read this settings from BatchToolManager when queue is processed. I think it's enough for 1.0 Later i would to add a RAW Decoding Settings panel to Queue Settings to be able to assign these settings independently for each queue. This want mean to change QueueSettingsView and to add a mechanism when user change somethings in this view about Raw Decoding Settings to sync BatchToolManager. This will require certainly i18n changes, so it's too late for 1.0.0 Gilles (In reply to comment #10) > Let me find out if anything here is critical for the 1.0 release: > > I open a raw, and change settings in the raw decoding tool. Then I import. For > the next RAW image the settings in the raw decoding tool are remembered as I > just changed them. Until one closes digikam/the editor, yes that works as expected. Except that at some point it did not not start with the digikam settings when you open the editor the first time after you opened digikam. Yet I cannot reproduce that at the moment. > The settings from the Configure dialog do not influence these settings. AFAIK they should, i.e. be the values the editor uses when it is opened the first time. > The BQM raw import uses the settings from the setup dialog. No, it ignores automatic brightness, i.e. enables it although it is disabled in the setup dialogue. It also ignores denoise, which I set to 1000 in the setup dialogue in order to test. I bet it also ignores the nebaled 16bit and quality and uses bilinear instead of AHD but that's a bit hard to test. I have not tested whether it ignores other settings from the setup dialogue as well. SVN commit 1060012 by cgilles: use default Image Editor Raw decoding setings with Batch Queue Manager to demosaic Raw images in queues processing CCBUGS: 215657 M +8 -0 actionthread.cpp M +2 -0 actionthread.h M +13 -1 batchtool.cpp M +14 -5 batchtool.h M +55 -2 queuemgrwindow.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1060012 yes, i confirm that auto brightness adjustement is not handle from general demosaicing setting with "Use Default" button from Raw Import tool. But for the rest, as Color depth, yes it is... Gilles Caulier Revision 1060012 does not compile for me. [ 0%] Building CXX object digikam/CMakeFiles/digikamcore.dir/__/utilities/imageeditor/canvas/dimginterface.o /home/kde-branch/kde/src/digikam/utilities/imageeditor/canvas/dimginterface.cpp: In member function 'void Digikam::DImgInterface::slotLoadRaw()': /home/kde-branch/kde/src/digikam/utilities/imageeditor/canvas/dimginterface.cpp:228: error: no match for 'operator<<' in 'KDebug::operator()(int)(50003) << ((Digikam::DImgInterfacePrivate*)((Digikam::DImgInterface*)this)->Digikam::DImgInterface::d)->Digikam::DImgInterfacePrivate::nextRawDescription.Digikam::LoadingDescription::rawDecodingSettings' /usr/include/QtCore/qdebug.h:91: note: candidates are: QDebug& QDebug::operator<<(QChar) /usr/include/QtCore/qdebug.h:92: note: QDebug& QDebug::operator<<(QBool) /usr/include/QtCore/qdebug.h:93: note: QDebug& QDebug::operator<<(bool) /usr/include/QtCore/qdebug.h:94: note: QDebug& QDebug::operator<<(char) /usr/include/QtCore/qdebug.h:95: note: QDebug& QDebug::operator<<(short int) /usr/include/QtCore/qdebug.h:96: note: QDebug& QDebug::operator<<(short unsigned int) /usr/include/QtCore/qdebug.h:97: note: QDebug& QDebug::operator<<(int) /usr/include/QtCore/qdebug.h:98: note: QDebug& QDebug::operator<<(unsigned int) /usr/include/QtCore/qdebug.h:99: note: QDebug& QDebug::operator<<(long int) /usr/include/QtCore/qdebug.h:100: note: QDebug& QDebug::operator<<(long unsigned int) /usr/include/QtCore/qdebug.h:101: note: QDebug& QDebug::operator<<(qint64) /usr/include/QtCore/qdebug.h:103: note: QDebug& QDebug::operator<<(quint64) /usr/include/QtCore/qdebug.h:105: note: QDebug& QDebug::operator<<(float) /usr/include/QtCore/qdebug.h:106: note: QDebug& QDebug::operator<<(double) /usr/include/QtCore/qdebug.h:107: note: QDebug& QDebug::operator<<(const char*) /usr/include/QtCore/qdebug.h:108: note: QDebug& QDebug::operator<<(const QString&) /usr/include/QtCore/qdebug.h:109: note: QDebug& QDebug::operator<<(const QStringRef&) /usr/include/QtCore/qdebug.h:110: note: QDebug& QDebug::operator<<(const QLatin1String&) /usr/include/QtCore/qdebug.h:111: note: QDebug& QDebug::operator<<(const QByteArray&) /usr/include/QtCore/qdebug.h:112: note: QDebug& QDebug::operator<<(const void*) /usr/include/QtCore/qdebug.h:113: note: QDebug& QDebug::operator<<(QTextStream& (*)(QTextStream&)) /usr/include/QtCore/qdebug.h:118: note: QDebug& QDebug::operator<<(QTextStreamManipulator) /home/kde-branch/kde/src/digikam/digikam/../libs/dmetadata/captionvalues.h:62: note: QDebug Digikam::operator<<(QDebug, const Digikam::CaptionValues&) /home/kde-branch/kde/src/digikam/digikam/../libs/dmetadata/photoinfocontainer.h:82: note: QDataStream& Digikam::operator<<(QDataStream&, const Digikam::PhotoInfoContainer&) /home/kde-branch/kde/src/digikam/digikam/../libs/dmetadata/metadatainfo.h:56: note: QDebug Digikam::operator<<(QDebug, const Digikam::IptcCoreLocationInfo&) /home/kde-branch/kde/src/digikam/digikam/../libs/dmetadata/metadatainfo.h:77: note: QDebug Digikam::operator<<(QDebug, const Digikam::IptcCoreContactInfo&) /usr/include/QtCore/qurl.h:274: note: QDebug operator<<(QDebug, const QUrl&) /usr/include/QtCore/qurl.h:269: note: QDataStream& operator<<(QDataStream&, const QUrl&) /usr/include/QtCore/qdatetime.h:326: note: QDebug operator<<(QDebug, const QDateTime&) /usr/include/QtCore/qdatetime.h:325: note: QDebug operator<<(QDebug, const QTime&) /usr/include/QtCore/qdatetime.h:324: note: QDebug operator<<(QDebug, const QDate&) /usr/include/QtCore/qdatetime.h:319: note: QDataStream& operator<<(QDataStream&, const QDateTime&) /usr/include/QtCore/qdatetime.h:317: note: QDataStream& operator<<(QDataStream&, const QTime&) /usr/include/QtCore/qdatetime.h:315: note: QDataStream& operator<<(QDataStream&, const QDate&) /usr/include/kdebug.h:210: note: QDebug operator<<(QDebug, const KDateTime&) /usr/include/kdebug.h:209: note: QDebug operator<<(QDebug, const KUrl&) /usr/include/kdebug.h:193: note: QDebug operator<<(QDebug, QDebug (*)(QDebug, KDebugTag)) /usr/include/QtCore/qtextstream.h:292: note: QTextStream& operator<<(QTextStream&, QTextStreamManipulator) /usr/include/QtCore/qtextstream.h:289: note: QTextStream& operator<<(QTextStream&, QTextStream& (*)(QTextStream&)) /usr/include/QtCore/qlocale.h:670: note: QDataStream& operator<<(QDataStream&, const QLocale&) /usr/include/QtGui/qicon.h:132: note: QDataStream& operator<<(QDataStream&, const QIcon&) /usr/include/QtGui/qpen.h:133: note: QDebug operator<<(QDebug, const QPen&) /usr/include/QtGui/qpen.h:120: note: QDataStream& operator<<(QDataStream&, const QPen&) /usr/include/QtGui/qkeysequence.h:213: note: QDebug operator<<(QDebug, const QKeySequence&) /usr/include/QtGui/qkeysequence.h:199: note: QDataStream& operator<<(QDataStream&, const QKeySequence&) /usr/include/QtGui/qcursor.h:152: note: QDataStream& operator<<(QDataStream&, const QCursor&) /usr/include/QtGui/qsizepolicy.h:207: note: QDataStream& operator<<(QDataStream&, const QSizePolicy&) /usr/include/QtGui/qfont.h:347: note: QDebug operator<<(QDebug, const QFont&) /usr/include/QtGui/qfont.h:342: note: QDataStream& operator<<(QDataStream&, const QFont&) /usr/include/QtGui/qpalette.h:239: note: QDataStream& operator<<(QDataStream&, const QColorGroup&) /usr/include/QtGui/qpalette.h:254: note: QDataStream& operator<<(QDataStream&, const QPalette&) /usr/include/QtGui/qbrush.h:154: note: QDebug operator<<(QDebug, const QBrush&) /usr/include/QtGui/qbrush.h:149: note: QDataStream& operator<<(QDataStream&, const QBrush&) /usr/include/QtCore/qvariant.h:594: note: QDebug operator<<(QDebug, QVariant::Type) /usr/include/QtCore/qvariant.h:501: note: QDataStream& operator<<(QDataStream&, QVariant::Type) /usr/include/QtCore/qvariant.h:499: note: QDataStream& operator<<(QDataStream&, const QVariant&) /usr/include/QtCore/qvariant.h:593: note: QDebug operator<<(QDebug, const QVariant&) /usr/include/QtGui/qpixmap.h:288: note: QDataStream& operator<<(QDataStream&, const QPixmap&) /usr/include/QtGui/qcolor.h:241: note: QDataStream& operator<<(QDataStream&, const QColor&) /usr/include/QtGui/qcolor.h:60: note: QDebug operator<<(QDebug, const QColor&) /usr/include/QtCore/qstringlist.h:249: note: QDataStream& operator<<(QDataStream&, const QStringList&) /usr/include/QtCore/qregexp.h:145: note: QDataStream& operator<<(QDataStream&, const QRegExp&) /usr/include/QtGui/qimage.h:339: note: QDataStream& operator<<(QDataStream&, const QImage&) /usr/include/QtGui/qtransform.h:319: note: QDebug operator<<(QDebug, const QTransform&) /usr/include/QtGui/qtransform.h:315: note: QDataStream& operator<<(QDataStream&, const QTransform&) /usr/include/QtGui/qpainterpath.h:404: note: QDebug operator<<(QDebug, const QPainterPath&) /usr/include/QtGui/qpainterpath.h:244: note: QDataStream& operator<<(QDataStream&, const QPainterPath&) /usr/include/QtGui/qmatrix.h:162: note: QDebug operator<<(QDebug, const QMatrix&) /usr/include/QtGui/qmatrix.h:158: note: QDataStream& operator<<(QDataStream&, const QMatrix&) /usr/include/QtCore/qline.h:416: note: QDataStream& operator<<(QDataStream&, const QLineF&) /usr/include/QtCore/qline.h:412: note: QDebug operator<<(QDebug, const QLineF&) /usr/include/QtCore/qline.h:205: note: QDataStream& operator<<(QDataStream&, const QLine&) /usr/include/QtCore/qline.h:201: note: QDebug operator<<(QDebug, const QLine&) /usr/include/QtGui/qregion.h:224: note: QDebug operator<<(QDebug, const QRegion&) /usr/include/QtGui/qregion.h:219: note: QDataStream& operator<<(QDataStream&, const QRegion&) /usr/include/QtCore/qiodevice.h:246: note: QDebug operator<<(QDebug, QFlags<QIODevice::OpenModeFlag>) /usr/include/QtGui/qpolygon.h:162: note: QDataStream& operator<<(QDataStream&, const QPolygonF&) /usr/include/QtGui/qpolygon.h:155: note: QDebug operator<<(QDebug, const QPolygonF&) /usr/include/QtGui/qpolygon.h:103: note: QDataStream& operator<<(QDataStream&, const QPolygon&) /usr/include/QtGui/qpolygon.h:96: note: QDebug operator<<(QDebug, const QPolygon&) /usr/include/QtCore/qrect.h:851: note: QDebug operator<<(QDebug, const QRectF&) /usr/include/QtCore/qrect.h:621: note: QDataStream& operator<<(QDataStream&, const QRectF&) /usr/include/QtCore/qrect.h:507: note: QDebug operator<<(QDebug, const QRect&) /usr/include/QtCore/qrect.h:199: note: QDataStream& operator<<(QDataStream&, const QRect&) /usr/include/QtCore/qpoint.h:354: note: QDebug operator<<(QDebug, const QPointF&) /usr/include/QtCore/qpoint.h:235: note: QDataStream& operator<<(QDataStream&, const QPointF&) /usr/include/QtCore/qpoint.h:181: note: QDebug operator<<(QDebug, const QPoint&) /usr/include/QtCore/qpoint.h:103: note: QDataStream& operator<<(QDataStream&, const QPoint&) /usr/include/QtCore/qsize.h:357: note: QDebug operator<<(QDebug, const QSizeF&) /usr/include/QtCore/qsize.h:252: note: QDataStream& operator<<(QDataStream&, const QSizeF&) /usr/include/QtCore/qsize.h:196: note: QDebug operator<<(QDebug, const QSize&) /usr/include/QtCore/qsize.h:101: note: QDataStream& operator<<(QDataStream&, const QSize&) /usr/include/QtCore/qobject.h:471: note: QDebug operator<<(QDebug, const QObject*) /usr/include/QtCore/qstring.h:1062: note: QDataStream& operator<<(QDataStream&, const QString&) /usr/include/QtCore/qbytearray.h:569: note: QDataStream& operator<<(QDataStream&, const QByteArray&) /usr/include/QtCore/qchar.h:389: note: QDataStream& operator<<(QDataStream&, const QChar&) make[2]: *** [digikam/CMakeFiles/digikamcore.dir/__/utilities/imageeditor/canvas/dimginterface.o] Error 1 make[1]: *** [digikam/CMakeFiles/digikamcore.dir/all] Error 2 make: *** [all] Error 2 makeobj[0]: Leaving directory `/home/kde-branch/kde/build/digikam' I suspect that you use an old version of libkdcraw. current code can push raw decoding settings through kDebug. Gilles Caulier Marcel, Can you reproduce the problem with auto-brighness settings and Default Raw decoding settings used with editor when you press "Use Default" button from Raw Import tool ? In this can, Cancel button handling is don from Raw Import and default settings is used, as you can see in this code : http://lxr.kde.org/source/extragear/graphics/digikam/utilities/imageeditor/canvas/dimginterface.cpp#229 Gilles I use whatever opensuse 11.2 and KDE 4.3.4 come with and compiling did work until today. rpm -qa | grep dcraw libkdcraw-devel-4.3.4-1.3.x86_64 libkdcraw7-4.3.4-1.3.x86_64 dcraw-1.404-2.1.x86_64 And digikam (the compile from yesterday) shows digiKam version 1.0.0 (rev.: 1059327) Exiv2 can write to Pgf: Keine Exiv2 kann nicht in JP2 speichern: Ja Exiv2 kann nicht in JPEG speichern: Ja Exiv2 kann nicht in PNG speichern: Ja Exiv2 kann nicht in TIFF speichern: Ja Exiv2 supports XMP metadata: Ja LibCImg: 130 LibExiv2: 0.18.2 LibJPEG: 62 LibJasper: 1.900.1 LibKDE: 4.3.4 (KDE 4.3.4) "release 2" LibKExiv2: 0.6.0 LibKdcraw: 0.5.0 LibLCMS: 118 LibPGF: 6.09.44 LibPNG: 1.2.39 LibQt: 4.5.3 LibRaw: 0.7.2 LibTIFF: LIBTIFF, Version 3.8.2 Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Marble-Widget: 0.8.1 Parallelized demosaicing: Ja LibGphoto2: 2.4.7.1 LibKipi: 0.4.0 I re-compiled kipi-plugins and digikam Rev: 1060019 builds too. So I can test the fixes. Thanks a lot for this, I'll have fun re-doing all my RAWs with the BQM and without auto brightness and with AHD and denoise. ;) Did a quick test, it works for the status of auto-brightness and denoise. :) Thanks again for this fix and digikam in general! BTW: If I click on "reset" in the raw import utility should this reset to the setup dialogue settings? If so that does not work as it disables denoise although I have that enabled and it sets quality to bilinear although I have set it to AHD. 16bit is enabled though which is according to the setup dialogue and auto brightness is disabled, which is also correct. I could open another bug report for that if you think it is a separate issue. No need. Raw Import default settings and Raw default settings from editor are undependant. To press on "use default" button from Raw Import drop it to load raw. That all. Gilles Caulier I thought that "use default" uses the default settings I set in the setup dialogue? If I chose "import automatically" in the first run wizard does digikam then use the settings from the setup dialogue. For me "import automatically" sounds like "always use the default settings. And if those "default settings" were not the ones from the setup dialogue the latter would be completely useless if the user uses "import automatically". However, if "import automatically" uses the default settings from the setup dialogue then "reset" and "use defaults" should use them as well IMHO because otherwise "using default" is not consistent. >I thought that "use default" uses the default settings I set in the setup
>dialogue?
yes, it use it but uotside Raw Import. In fact when you press "USe Default" button, you don't use Raw Import tool. You load RAW image use full automatized way. Perhaps label button is not fine here...
Gilles Caulier
Sven, I think the BQM bug is fixed with https://bugs.kde.org/show_bug.cgi?id=216134#c5. Can you confirm? Jens For me this entry is fixed. Re-open it if necessary... Gilles Caulier |