SVN commit 493814 by cgilles:
Digikam from trunk : and finally RAW file decoding settings are now used by IE and Showfoto... Actually, the RAW file decoding settings implementation provide these parameters : - Enable Quality Decoding (bool) : If disable, we using old dcraw command line syntax with '-q' parameter alone. If Enable we using addition quality factor require by last dcraw release. - Quality Decoding Factor (int 0-4) : The famous factor using to optimize RAW decoding image (0 for slow computer, 3 for speed computer) TO DIGIKAM TEAM : - I have tested using this implementation using dcraw v7.49, not the last one released by Dave Coffin. - We can add any other advanced RAW decoding parameter on settings dialog tab : * -f : Interpolate RGB as four colors. This blurs the image a little, but it eliminates false 2x2 mesh patterns. * -a : Automatic color balance. The default is to use a fixed color balance based on a white card photographed in sunlight. * -w : Use the color balance specified by the camera. If this can't be found, dcraw prints a warning and reverts to the default. * -n : By default, dcraw clips all colors to prevent pink hues in the highlights. Combine this option with -b 0.25 to leave the image data completely unclipped. * -j : For Fuji Super CCD cameras, show the image tilted 45 degrees so that each output pixel corresponds to one raw pixel. * -s : For Fuji Super CCD SR cameras, use the secondary sensors, in effect underexposing the image by four stops to reveal detail in the highlights. For all other cameras, -j and -s are silently ignored. Notes : - "-a" and "-w" are always actually enable on the current implementation and work fine. I'm not sure if ti's a good idea to disable these parameters. - I have never tested "-f" parameter. I think this one must be availabe in setup. - "-n", "-j", and "-s" are indeep settings. i'm not favorable to add these options, excepted if any users want these parameters... Please let's me hear if all is right for you ! Suggestions and wishes are welcome CCMAIL: [hidden email] M +4 -4 libs/dimg/dimg.cpp M +2 -2 libs/dimg/dimg.h M +30 -7 libs/dimg/loaders/rawloader.cpp M +4 -1 libs/dimg/loaders/rawloader.h M +1 -1 showfoto/showfoto.cpp M +2 -1 utilities/imageeditor/canvas/dimginterface.cpp M +1 -1 utilities/imageeditor/canvas/iofilesettingscontainer.h M +1 -2 utilities/imageeditor/editor/imagewindow.cpp --- trunk/extragear/graphics/digikam/libs/dimg/dimg.cpp #493813:493814 @@ -58,10 +58,10 @@ { } -DImg::DImg(const QString& filePath) +DImg::DImg(const QString& filePath, bool enableRAWQuality, int RAWquality) : m_priv(new DImgPrivate) { - load(filePath); + load(filePath, enableRAWQuality, RAWquality); } DImg::DImg(const DImg& image) @@ -128,7 +128,7 @@ m_priv = new DImgPrivate; } -bool DImg::load(const QString& filePath) +bool DImg::load(const QString& filePath, bool enableRAWQuality, int RAWquality) { FORMAT format = fileFormat(filePath); @@ -199,7 +199,7 @@ case(RAW): { kdDebug() << filePath << " : RAW file identified" << endl; - RAWLoader loader(this); + RAWLoader loader(this, enableRAWQuality, RAWquality); if (loader.load(filePath)) { m_priv->null = false; --- trunk/extragear/graphics/digikam/libs/dimg/dimg.h #493813:493814 @@ -88,7 +88,7 @@ }; DImg(); - DImg(const QString& filePath); + DImg(const QString& filePath, bool enableRAWQuality=false, int RAWquality=0); DImg(const DImg& image); DImg(uint width, uint height, bool sixteenBit, bool alpha=false, uchar* data = 0); ~DImg(); @@ -97,7 +97,7 @@ void reset(void); - bool load(const QString& filePath); + bool load(const QString& filePath, bool enableRAWQuality, int RAWquality); bool save(const QString& filePath, const char* format); bool isNull() const; --- trunk/extragear/graphics/digikam/libs/dimg/loaders/rawloader.cpp #493813:493814 @@ -22,7 +22,7 @@ // This line must be commented to prevent any latency time // when we use threaded image loader interface for each image // files io. Uncomment this line only for debugging. -//#define ENABLE_DEBUG_MESSAGES +#define ENABLE_DEBUG_MESSAGES extern "C" { @@ -53,10 +53,12 @@ namespace Digikam { -RAWLoader::RAWLoader(DImg* image) +RAWLoader::RAWLoader(DImg* image, bool enableRAWQuality, int RAWquality) : DImgLoader(image) { - m_hasAlpha = false; + m_hasAlpha = false; + m_enableRAWQuality = enableRAWQuality; + m_RAWquality = RAWquality; } bool RAWLoader::load(const QString& filePath) @@ -73,11 +75,21 @@ // run dcraw with options: // -c : write to stdout - // -q : Use simple bilinear interpolation for quick results // -2 : 8bit ppm output // -w : Use camera white balance, if possible // -a : Use automatic white balance - command = "dcraw -c -q -2 -w -a "; + // -q : Use simple bilinear interpolation for quick results + + if (!m_enableRAWQuality) + command = "dcraw -c -2 -w -a -q "; + else + { + QCString rawQuality; + command = "dcraw -c -2 -w -a -q "; + command += rawQuality.setNum(m_RAWquality); + command += " "; + } + command += QFile::encodeName( KProcess::quote( filePath ) ); #ifdef ENABLE_DEBUG_MESSAGES @@ -156,11 +168,22 @@ // run dcraw with options: // -c : write to stdout - // -q : Use simple bilinear interpolation for quick results // -4 : 16bit ppm output // -a : Use automatic white balance // -w : Use camera white balance, if possible - command = "dcraw -c -q -4 -w -a "; + // -q : Use simple bilinear interpolation for quick results + + if (!m_enableRAWQuality) + command = "dcraw -c -4 -w -a -q "; + else + { + QCString rawQuality; + command = "dcraw -c -4 -w -a -q "; + command += rawQuality.setNum(m_RAWquality); + command += " "; + } + + command += "'"; command += QFile::encodeName( filePath ); command += "'"; --- trunk/extragear/graphics/digikam/libs/dimg/loaders/rawloader.h #493813:493814 @@ -42,7 +42,7 @@ { public: - RAWLoader(DImg* image); + RAWLoader(DImg* image, bool enableRAWQuality=false, int RAWquality=0); bool load(const QString& filePath); bool save(const QString& filePath); @@ -55,6 +55,9 @@ bool m_sixteenBit; bool m_hasAlpha; + + bool m_enableRAWQuality; + int m_RAWquality; private: --- trunk/extragear/graphics/digikam/showfoto/showfoto.cpp #493813:493814 @@ -536,7 +536,7 @@ m_IOFileSettings->TIFFCompression = m_config->readBoolEntry("TIFFCompression", false); m_IOFileSettings->enableRAWQuality = m_config->readBoolEntry("EnableRAWQuality", false); - m_IOFileSettings->RAWquality = m_config->readNumEntry("RAWquality", 0); + m_IOFileSettings->RAWQuality = m_config->readNumEntry("RAWquality", 0); // Slideshow Settings. m_slideShowInFullScreen = m_config->readBoolEntry("SlideShowFullScreen", true); --- trunk/extragear/graphics/digikam/utilities/imageeditor/canvas/dimginterface.cpp #493813:493814 @@ -203,7 +203,8 @@ d->undoMan->clear(); - d->image = DImg(filename); + d->image = DImg(filename, iofileSettings->enableRAWQuality, + iofileSettings->RAWQuality); if (!d->image.isNull()) { --- trunk/extragear/graphics/digikam/utilities/imageeditor/canvas/iofilesettingscontainer.h #493813:493814 @@ -47,7 +47,7 @@ bool enableRAWQuality; // RAW quality decoding factor value. - int RAWquality; + int RAWQuality; }; --- trunk/extragear/graphics/digikam/utilities/imageeditor/editor/imagewindow.cpp #493813:493814 @@ -487,7 +487,7 @@ m_IOFileSettings->TIFFCompression = config->readBoolEntry("TIFFCompression", false); m_IOFileSettings->enableRAWQuality = config->readBoolEntry("EnableRAWQuality", false); - m_IOFileSettings->RAWquality = config->readNumEntry("RAWquality", 0); + m_IOFileSettings->RAWQuality = config->readNumEntry("RAWquality", 0); AlbumSettings *settings = AlbumSettings::instance(); if (settings->getUseTrash()) @@ -597,7 +597,6 @@ { QApplication::setOverrideCursor(Qt::WaitCursor); - // FIXME implement color management here if (m_ICCSettings->enableCMSetting) { kdDebug() << "enableCMSetting=true" << endl; _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
El Martes, 3 de Enero de 2006 12:41, Gilles Caulier escribió:
> SVN commit 493814 by cgilles: > > Digikam from trunk : and finally RAW file decoding settings are now used by > IE and Showfoto... > > Actually, the RAW file decoding settings implementation provide these > parameters : > > - Enable Quality Decoding (bool) : If disable, we using old dcraw command > line syntax with '-q' parameter alone. If Enable we using addition quality > factor require by last dcraw release. - Quality Decoding Factor (int 0-4) : > The famous factor using to optimize RAW decoding image (0 for slow > computer, 3 for speed computer) > > TO DIGIKAM TEAM : > > - I have tested using this implementation using dcraw v7.49, not the last > one released by Dave Coffin. - We can add any other advanced RAW decoding > parameter on settings dialog tab : * -f : Interpolate RGB as four colors. > This blurs the image a little, but it eliminates false 2x2 mesh patterns. * > -a : Automatic color balance. The default is to use a fixed color balance > based on a white card photographed in sunlight. * -w : Use the color > balance specified by the camera. If this can't be found, dcraw prints a > warning and reverts to the default. * -n : By default, dcraw clips all > colors to prevent pink hues in the highlights. Combine this option with -b > 0.25 to leave the image data completely unclipped. * -j : For Fuji Super > CCD cameras, show the image tilted 45 degrees so that each output pixel > corresponds to one raw pixel. * -s : For Fuji Super CCD SR cameras, use the > secondary sensors, in effect underexposing the image by four stops to > reveal detail in the highlights. For all other cameras, -j and -s are > silently ignored. > In my opinnion, we must add all color balance options and colors clipe/unclip feature. Paco Cruz. > Notes : > > - "-a" and "-w" are always actually enable on the current implementation > and work fine. I'm not sure if ti's a good idea to disable these > parameters. - I have never tested "-f" parameter. I think this one must be > availabe in setup. - "-n", "-j", and "-s" are indeep settings. i'm not > favorable to add these options, excepted if any users want these > parameters... > > Please let's me hear if all is right for you ! Suggestions and wishes are > welcome > > CCMAIL: [hidden email] > > > M +4 -4 libs/dimg/dimg.cpp > M +2 -2 libs/dimg/dimg.h > M +30 -7 libs/dimg/loaders/rawloader.cpp > M +4 -1 libs/dimg/loaders/rawloader.h > M +1 -1 showfoto/showfoto.cpp > M +2 -1 utilities/imageeditor/canvas/dimginterface.cpp > M +1 -1 utilities/imageeditor/canvas/iofilesettingscontainer.h > M +1 -2 utilities/imageeditor/editor/imagewindow.cpp > > > --- trunk/extragear/graphics/digikam/libs/dimg/dimg.cpp #493813:493814 > @@ -58,10 +58,10 @@ > { > } > > -DImg::DImg(const QString& filePath) > +DImg::DImg(const QString& filePath, bool enableRAWQuality, int RAWquality) > > : m_priv(new DImgPrivate) > > { > - load(filePath); > + load(filePath, enableRAWQuality, RAWquality); > } > > DImg::DImg(const DImg& image) > @@ -128,7 +128,7 @@ > m_priv = new DImgPrivate; > } > > -bool DImg::load(const QString& filePath) > +bool DImg::load(const QString& filePath, bool enableRAWQuality, int > RAWquality) { > FORMAT format = fileFormat(filePath); > > @@ -199,7 +199,7 @@ > case(RAW): > { > kdDebug() << filePath << " : RAW file identified" << endl; > - RAWLoader loader(this); > + RAWLoader loader(this, enableRAWQuality, RAWquality); > if (loader.load(filePath)) > { > m_priv->null = false; > --- trunk/extragear/graphics/digikam/libs/dimg/dimg.h #493813:493814 > @@ -88,7 +88,7 @@ > }; > > DImg(); > - DImg(const QString& filePath); > + DImg(const QString& filePath, bool enableRAWQuality=false, int > RAWquality=0); DImg(const DImg& image); > DImg(uint width, uint height, bool sixteenBit, bool alpha=false, > uchar* data = 0); ~DImg(); > @@ -97,7 +97,7 @@ > > void reset(void); > > - bool load(const QString& filePath); > + bool load(const QString& filePath, bool enableRAWQuality, int > RAWquality); bool save(const QString& filePath, const char* format); > > bool isNull() const; > --- trunk/extragear/graphics/digikam/libs/dimg/loaders/rawloader.cpp > #493813:493814 @@ -22,7 +22,7 @@ > // This line must be commented to prevent any latency time > // when we use threaded image loader interface for each image > // files io. Uncomment this line only for debugging. > -//#define ENABLE_DEBUG_MESSAGES > +#define ENABLE_DEBUG_MESSAGES > > extern "C" > { > @@ -53,10 +53,12 @@ > namespace Digikam > { > > -RAWLoader::RAWLoader(DImg* image) > +RAWLoader::RAWLoader(DImg* image, bool enableRAWQuality, int RAWquality) > > : DImgLoader(image) > > { > - m_hasAlpha = false; > + m_hasAlpha = false; > + m_enableRAWQuality = enableRAWQuality; > + m_RAWquality = RAWquality; > } > > bool RAWLoader::load(const QString& filePath) > @@ -73,11 +75,21 @@ > > // run dcraw with options: > // -c : write to stdout > - // -q : Use simple bilinear interpolation for quick results > // -2 : 8bit ppm output > // -w : Use camera white balance, if possible > // -a : Use automatic white balance > - command = "dcraw -c -q -2 -w -a "; > + // -q : Use simple bilinear interpolation for quick results > + > + if (!m_enableRAWQuality) > + command = "dcraw -c -2 -w -a -q "; > + else > + { > + QCString rawQuality; > + command = "dcraw -c -2 -w -a -q "; > + command += rawQuality.setNum(m_RAWquality); > + command += " "; > + } > + > command += QFile::encodeName( KProcess::quote( filePath ) ); > > #ifdef ENABLE_DEBUG_MESSAGES > @@ -156,11 +168,22 @@ > > // run dcraw with options: > // -c : write to stdout > - // -q : Use simple bilinear interpolation for quick results > // -4 : 16bit ppm output > // -a : Use automatic white balance > // -w : Use camera white balance, if possible > - command = "dcraw -c -q -4 -w -a "; > + // -q : Use simple bilinear interpolation for quick results > + > + if (!m_enableRAWQuality) > + command = "dcraw -c -4 -w -a -q "; > + else > + { > + QCString rawQuality; > + command = "dcraw -c -4 -w -a -q "; > + command += rawQuality.setNum(m_RAWquality); > + command += " "; > + } > + > + > command += "'"; > command += QFile::encodeName( filePath ); > command += "'"; > --- trunk/extragear/graphics/digikam/libs/dimg/loaders/rawloader.h > #493813:493814 @@ -42,7 +42,7 @@ > { > public: > > - RAWLoader(DImg* image); > + RAWLoader(DImg* image, bool enableRAWQuality=false, int RAWquality=0); > > bool load(const QString& filePath); > bool save(const QString& filePath); > @@ -55,6 +55,9 @@ > > bool m_sixteenBit; > bool m_hasAlpha; > + > + bool m_enableRAWQuality; > + int m_RAWquality; > > private: > > --- trunk/extragear/graphics/digikam/showfoto/showfoto.cpp #493813:493814 > @@ -536,7 +536,7 @@ > m_IOFileSettings->TIFFCompression = > m_config->readBoolEntry("TIFFCompression", false); > > m_IOFileSettings->enableRAWQuality = > m_config->readBoolEntry("EnableRAWQuality", false); - > m_IOFileSettings->RAWquality = m_config->readNumEntry("RAWquality", > 0); + m_IOFileSettings->RAWQuality = > m_config->readNumEntry("RAWquality", 0); > > // Slideshow Settings. > m_slideShowInFullScreen = > m_config->readBoolEntry("SlideShowFullScreen", true); --- > trunk/extragear/graphics/digikam/utilities/imageeditor/canvas/dimginterface >.cpp #493813:493814 @@ -203,7 +203,8 @@ > > d->undoMan->clear(); > > - d->image = DImg(filename); > + d->image = DImg(filename, iofileSettings->enableRAWQuality, > + iofileSettings->RAWQuality); > > if (!d->image.isNull()) > { > --- > trunk/extragear/graphics/digikam/utilities/imageeditor/canvas/iofilesetting >scontainer.h #493813:493814 @@ -47,7 +47,7 @@ > bool enableRAWQuality; > > // RAW quality decoding factor value. > - int RAWquality; > + int RAWQuality; > > }; > > --- > trunk/extragear/graphics/digikam/utilities/imageeditor/editor/imagewindow.c >pp #493813:493814 @@ -487,7 +487,7 @@ > m_IOFileSettings->TIFFCompression = > config->readBoolEntry("TIFFCompression", false); > > m_IOFileSettings->enableRAWQuality = > config->readBoolEntry("EnableRAWQuality", false); - > m_IOFileSettings->RAWquality = config->readNumEntry("RAWquality", 0); > + m_IOFileSettings->RAWQuality = > config->readNumEntry("RAWquality", 0); > > AlbumSettings *settings = AlbumSettings::instance(); > if (settings->getUseTrash()) > @@ -597,7 +597,6 @@ > { > QApplication::setOverrideCursor(Qt::WaitCursor); > > - // FIXME implement color management here > if (m_ICCSettings->enableCMSetting) > { > kdDebug() << "enableCMSetting=true" << endl; > _______________________________________________ > Digikam-devel mailing list > [hidden email] > https://mail.kde.org/mailman/listinfo/digikam-devel Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Le Mardi 3 Janvier 2006 13:27, F.J.Cruz a écrit :
> El Martes, 3 de Enero de 2006 12:41, Gilles Caulier escribió: > > SVN commit 493814 by cgilles: > > > > Digikam from trunk : and finally RAW file decoding settings are now used > > by IE and Showfoto... > > > > Actually, the RAW file decoding settings implementation provide these > > parameters : > > > > - Enable Quality Decoding (bool) : If disable, we using old dcraw command > > line syntax with '-q' parameter alone. If Enable we using addition > > quality factor require by last dcraw release. - Quality Decoding Factor > > (int 0-4) : The famous factor using to optimize RAW decoding image (0 for > > slow computer, 3 for speed computer) > > > > TO DIGIKAM TEAM : > > > > - I have tested using this implementation using dcraw v7.49, not the last > > one released by Dave Coffin. - We can add any other advanced RAW decoding > > parameter on settings dialog tab : * -f : Interpolate RGB as four colors. > > This blurs the image a little, but it eliminates false 2x2 mesh patterns. > > * -a : Automatic color balance. The default is to use a fixed color > > balance based on a white card photographed in sunlight. * -w : Use the > > color balance specified by the camera. If this can't be found, dcraw > > prints a warning and reverts to the default. * -n : By default, dcraw > > clips all colors to prevent pink hues in the highlights. Combine this > > option with -b 0.25 to leave the image data completely unclipped. * -j : > > For Fuji Super CCD cameras, show the image tilted 45 degrees so that each > > output pixel corresponds to one raw pixel. * -s : For Fuji Super CCD SR > > cameras, use the secondary sensors, in effect underexposing the image by > > four stops to reveal detail in the highlights. For all other cameras, -j > > and -s are silently ignored. > > In my opinnion, we must add all color balance options and colors > clipe/unclip feature. You want say that i need to add 3 new QCheckBox in setup dialog to : 1 - Use automatic Color Balance (-a) 2 - Use Color Balance from Camera (-w) 3 - Interpolate RGB as four colors (-f) "clips all colors to prevent pink hues in the highlights" option (-n) is more complicated to implemente because it's require to set brightness (-b) to 0.25. Have you already used this option ? Have you any feedback about ? Gilles _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Gilles Caulier
Le Mardi 3 Janvier 2006 12:41, Gilles Caulier a écrit :
> * -f : Interpolate RGB as four colors. This blurs the image a little, > but it eliminates false 2x2 mesh patterns. This RAW file decoding option is now available in svn trunk... My 10 Cts € (:=))) -- Gilles _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
In reply to this post by Gilles Caulier
El Martes, 3 de Enero de 2006 13:34, Gilles Caulier escribió:
> Le Mardi 3 Janvier 2006 13:27, F.J.Cruz a écrit : > > El Martes, 3 de Enero de 2006 12:41, Gilles Caulier escribió: > > > SVN commit 493814 by cgilles: > > > > > > Digikam from trunk : and finally RAW file decoding settings are now > > > used by IE and Showfoto... > > > > > > Actually, the RAW file decoding settings implementation provide these > > > parameters : > > > > > > - Enable Quality Decoding (bool) : If disable, we using old dcraw > > > command line syntax with '-q' parameter alone. If Enable we using > > > addition quality factor require by last dcraw release. - Quality > > > Decoding Factor (int 0-4) : The famous factor using to optimize RAW > > > decoding image (0 for slow computer, 3 for speed computer) > > > > > > TO DIGIKAM TEAM : > > > > > > - I have tested using this implementation using dcraw v7.49, not the > > > last one released by Dave Coffin. - We can add any other advanced RAW > > > decoding parameter on settings dialog tab : * -f : Interpolate RGB as > > > four colors. This blurs the image a little, but it eliminates false 2x2 > > > mesh patterns. * -a : Automatic color balance. The default is to use a > > > fixed color balance based on a white card photographed in sunlight. * > > > -w : Use the color balance specified by the camera. If this can't be > > > found, dcraw prints a warning and reverts to the default. * -n : By > > > default, dcraw clips all colors to prevent pink hues in the highlights. > > > Combine this option with -b 0.25 to leave the image data completely > > > unclipped. * -j : For Fuji Super CCD cameras, show the image tilted 45 > > > degrees so that each output pixel corresponds to one raw pixel. * -s : > > > For Fuji Super CCD SR cameras, use the secondary sensors, in effect > > > underexposing the image by four stops to reveal detail in the > > > highlights. For all other cameras, -j and -s are silently ignored. > > > > In my opinnion, we must add all color balance options and colors > > clipe/unclip feature. > > You want say that i need to add 3 new QCheckBox in setup dialog to : > > 1 - Use automatic Color Balance (-a) > 2 - Use Color Balance from Camera (-w) > 3 - Interpolate RGB as four colors (-f) > > "clips all colors to prevent pink hues in the highlights" option (-n) is > more complicated to implemente because it's require to set brightness (-b) > to 0.25. Have you already used this option ? Have you any feedback about ? > Usually, I use this option with ufraw for my raw photos, but not with dcraw from command line. Paco. > Gilles > _______________________________________________ > Digikam-devel mailing list > [hidden email] > https://mail.kde.org/mailman/listinfo/digikam-devel _______________________________________________ Digikam-devel mailing list [hidden email] https://mail.kde.org/mailman/listinfo/digikam-devel |
Free forum by Nabble | Edit this page |