Compiling imagemagick with FFTW library on windows

So I have been trying to get FFT imagemagick in Windows, and I found this instruction sheet. http://www.imagemagick.org/discourse-server/viewtopic.php?f=4&t=14251#p56836

It seemed out of date, being a decade old, but I tried to follow it anyway. I had success until this step:

Run the configure program. In the dialog, click Next.
In the next dialog window, select "Edit magick-config.in".
This will start up notepad and allows you to edit the file.
Check that MAGICKCORE_QUANTUM_DEPTH is the required value (16 is best when using FFTW and/or HDRI) then check that MAGICKCORE_HDRI_SUPPORT is defined.
Finally, after HDRI, add this:
#define MAGICKCORE_FFTW_DELEGATE

I could not find an option in the configure dialogue gui to edit “magick-config.in” despite being able to set the HDRI 16 bit mode enablement. Manual search for that the file “magick-config.in” proved fruitless, despite searching the entire repository and all files generated. Nonetheless, since I had done the linking to MS Visual Studio to the delegate library step earlier, I tried the compile anyway. Imagemagick was successfully compiled, and I continued to make trig function art with imagemagick but no fft filter support.

I tried to sign up to the imagemagick forum to ask this question, http://www.imagemagick.org/discourse-server/index.php?sid=3ff41626a0311a92e33eff2d622f3091 , but found no way to create an account required to post.

Anyone have an updated easy for people like me who only know intro level programming stuff tutorial, or pre-compiled windows 10 imagemagick fftw included binaries that they could private message share on Google drive with me?

Thanks,
Waveluke.

I have compiled this so many times in the distant past and once a couple of years ago (but not using the method described). It used to be near impossible but for modern IM it is much easier. Anyway, I will ping @snibgo who does this in his sleep, probably.

The IM forums are now at Discussions · ImageMagick/ImageMagick · GitHub . The old forums at http://www.imagemagick.org/discourse-server are now read-only.

Pre-built versions of IM for Windows do not contain fftw. To get fftw, IM must be built with the fftw library where IM’s build process can find it.

I have never used MS Visual Studio, and don’t know how to build IM with it, but instructions are at ImageMagick - Advanced Windows Source Installation

Thanks for the tip about the IM forum. As per the the compile instructions, I already found the advanced windows instructions link you listed, but was unable to figure out how to add custom delegate libraries in the configure process. For what it’s worth, I compiled it anyway out of curiosity, and it compiled just fine, though it obviously didn’t have fftw set up.

I notice that ImageMagick - Advanced Windows Source Installation says it creates configure.exe, and “Running this program will start a Wizard that allows configuration of ImageMagick and its individual components.”

For comparison, building with GNU tools involves running a bash script “./configure” which has many options, including “–help”, and “–without-fftw”. By default, it is built with fftw. Perhaps configure.exe contains similar facilities.

As I say, I’ve never used Visual Studio to build IM, and have no idea how that works. I suggest you search Discussions · ImageMagick/ImageMagick · GitHub , and/or post a question there.

I’m just as new as you are with using Visual Studio. Do you have any recommendations for compilers that work on Windows that would make this easier?

@Waveluke, @snibgo has a webpage here: Compiling IM with Cygwin. I don’t think he has FFTW configured though in the example.

That’s it, @afre. You got there before I did.

I use the GNU toolchain and bash, from Cygwin packages. I documented this at Compiling IM with Cygwin, for IM v6, but v7 is the same process. In a nutshell: download, ./configure, make install.

To include fftw, you need to have downloaded the fftw library. The Windows IM v7 distribution contains the fftw library. (At least, it did last time I downloaded it.)