How to create camera noise profiles for darktable

3.6.1 gives the same results so it must be something specific to my build or environment. As you’ve kindly created the profiles I’ll let this rest now. Thank you again Peter.

1 Like

Using darktable master or 3.8.x, same problem:

```
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/darktable -DBUILD_NOISE_TOOLS=ON ..
cd tools/noise
make
sudo make install
```
  1. cd tools/noise should be preceded by cd ..
  2. the following make command produces make: *** No targets specified and no makefile found. Stop.

Trying with debian package darktable-tools-noise: during install removes imagemagick for graphicsmagick-imagemagick-compat, but when I run (ubuntu 20.04)

$ /usr/lib/darktable/tools/darktable-gen-noiseprofile
===> Check for required tools
--> Check for images handling tools availability
--> Check for images export tools availability
ImageMagick is required to check input images correctness. Please
install this package and re-run this script.

NOTE: You may have to remove GraphicsMagick-related packages before.
--> Check for profiling tools availability
--> Check for tethering tools availability
--> Check for pdf tools availability

i.e. it wants imagemagick!!! if I install it, /usr/lib/darktable/tools/darktable-gen-noiseprofile has desappeard because it was incompatible with imagemagick.

I see that I have a ~/git/darktable/tools/noise/darktable-gen-noiseprofile (what version? it doesn’t report it!), using it, whatever the exposition of the raw file I get the "~/raw/paraOrganizar/IMG_9712.CR3" not over-exposed (0) error and I cannot generate the noise profile

Regarding the imagemagick / graphicsmagick, there is already an issue reported on github:

I also think that the script needs to be updated.

What errors are you getting and why do you think it needs to be updated?

see comments from @rawfiner and me in the github issue.

In a nutshell: script only works and gives intended results with imagemagick, not with graphicsmagick, although the darktable C code works with both C APIs.
As far as I remember, at least the debian packages have darktable depend on grahpicsmagick and this breaks the noise profiling script.
IMHO the “sufficiently over- and underexposed” checks could be simplified.

If you haven’t contacted the packager, then it isn’t surprising that it hasn’t been resolved. Packaging is handled by the community.

That’s not the problem, the script is the problem, it should - such as the C code - be compatible with both imagemagick & graphicsmagick.

I took some time to address the problem in the following PR, please have a look and leave feedback:

As already asked on github, can you please share the file(s), then I’ll have a look.

The script uses darktable-cli generated JPEG files to check for under/over-exposure, and makes wrong conclusions about under/over-exposure in RAW.

Please file a bug and explain the details of your findings.

This has already been raised by @Paolo_Benvenuto here:

I think the solution would be to turn of the “highlight reconstruction” module for JPEG conversion.

Trying to follow:

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/darktable -DBUILD_NOISE_TOOLS=ON ..
cd tools/noise
make
sudo make install

Change cd tools/noisecd ../tools/noise, but then:

$ make
make: *** No targets specified and no makefile found.  Stop.

What are you trying to achieve:

  • build the whole DT project with noise tools
  • build only noise tools?

in case of the latter, you can just:

cd tools/noise
mkdir build
cd build
cmake -DCMAKE_INSTALL_LIBEXECDIR=/opt/darktable ..
sudo make install

I was trying to build darktable and noise tools.

So perhaps the instructions should be updated with separate build within tools/noise.

Why did you do cd tools/noise then?
Without that it should work and build the whole darktable project including the noise tools.

Because darktable was built alright, but tools/noise were not.

At least for me it works, just those steps (as you outlined already):

mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/darktable -DBUILD_NOISE_TOOLS=ON ..
sudo make install

Somewhere during the build process you should come across this output:

Scanning dependencies of target darktable-noiseprofile
[  9%] Building C object share/darktable/tools/noise/CMakeFiles/darktable-noiseprofile.dir/noiseprofile.c.o

After successfull build & installation you should find the noise calibration tools here: /opt/darktable/libexec/darktable/tools

Thanks!
Just tried compiling entire darktable once more and I do get /opt/darktable/libexec/darktable/tools/darktable-noiseprofile.

Then what is

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/darktable -DBUILD_NOISE_TOOLS=ON ..
cd tools/noise
make
sudo make install

for? If compiling tools only, shouldn’t cd tools/noise be the first line?

Where did you find this line cd tools/noise in the instructions? It does not make any sense after you already changed into the build folder.

If you only want to build the noise tools follow my instructions here: How to create camera noise profiles for darktable - #176 by da-phil