pkgsrc/graphics/enblend-enfuse/Makefile

42 lines
1.2 KiB
Makefile
Raw Normal View History

2014-11-07 20:39:24 +01:00
# $NetBSD: Makefile,v 1.30 2014/11/07 19:39:34 adam Exp $
DISTNAME= enblend-enfuse-4.1.3
2014-11-07 20:39:24 +01:00
PKGREVISION= 4
CATEGORIES= graphics
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=enblend/}
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://enblend.sourceforge.net/
COMMENT= Combines overlapping images without seams, with good exposure
LICENSE= gnu-gpl-v2
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
USE_TOOLS+= gmake perl:build pkg-config
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --with-boost-filesystem
.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} == "Darwin"
CONFIGURE_ARGS+= --enable-openmp
CONFIGURE_ARGS+= --with-apple-opengl-framework
.else
CONFIGURE_ARGS+= --with-x
.include "../../graphics/glut/buildlink3.mk"
.endif
LIBS+= -lboost_system
.include "../../devel/boost-headers/buildlink3.mk"
.include "../../devel/boost-libs/buildlink3.mk"
.include "../../mk/jpeg.buildlink3.mk"
.include "../../graphics/glew/buildlink3.mk"
* Version 4.1 "Trouble In Paradise" Released on December 8, 2012. ** Improvements - All deprecated options since version 4.0 have been removed. - A new primary seam-line generator, based on a Graph-Cut algorithm, has been implemented during GSoC 2011 by Mikołaj Leszczyński. The old Nearest-Feature Transform remains the default. The new algorithm is activated with "--primary-seam-generator=graph-cut". - The difference image on which Enblend's seam-line optimization relies for color images uses a perceptual model by default (option "--image-difference"), yielding a true CIE76 "Delta E" with the (default) luminance and chrominance weights of 1. - Parallelize CIECAM02 color conversion (option "--ciecam"). Speedups of up to 40% have been reported on the amd64 architecture. The computationally expensive color-space conversion still slows down blending and fusing by some 25%. - Enblend and Enfuse integrate seamlessly in color-managed workflow. Input images with color profiles automatically enable CIECAM blending and the output image is assigned the input images' color profile. - Enblend and Enfuse exploit a new feature in LittleCMS Version 2.x called "Unbounded CMM". Thereby, the hue and saturation of extreme shadows and highlights can be preserved much longer before pure black or white are reached. See: http://www.littlecms.com/CIC18_UnboundedCMM.pdf - Assign different profiles to profile-free input images with option "--fallback-profile" instead of being tied to sRGB. - A new gray-scale projector called "anti-value" helps when fusing with the intent of minimizing the noise in the output image. When employing a lower exposure cutoff this even is the default projector. - Both Enblend and Enfuse stop right after saving all generated masks to files, if option "--save-masks" is given, but option "--output" is not. This allows to splice tools that manipulate the masks and feed the masks back into Enblend and Enfuse with option "--load-masks". When combining option "--output" and "--save-masks" Enblend and Enfuse write all masks and the final output image as before. - Both Enblend and Enfuse can write their output JPEG files with arithmetic JPEG compression and TIFF files with JPEG compression, if the underlying JPEG and TIFF libraries support these compression schemes. ** Bug Fixes - Enblend and Enfuse consistently warn if they are passed input images that alternate between with color profile and without. - Grant SourceForge feature request ID 2991909 (OSX only). Previous to that, Enblend, when launched from a terminal window with GPU-acceleration (option "--gpu"), started a second, non-responsive terminal window and when this new Enblend window tried to "steal" the focus, it displayed the OSX rotating "beach ball". With the fix that all goes away. Also the responsiveness of the screen improves, which means that the non-functional window also hogged GUI resources. ** New Commandline Options - Option "--primary-seam-generator" controls the primary seam-line generation algorithm. - Option "--image-difference" selects the difference image calculation algorithm and optionally assigns weights to the luminance and the chrominance part of the difference image. - Short option "-c" now has a sibling called "--ciecam". The long option also has a negated form: "--no-ciecam"; the short one has not. - The option "--fallback-profile=PROFILE" allows users to pass their own profiles for image sets that come without ICC color profiles. Before the hard-coded profile was sRGB. - The option "--exposure-cutoff" facilitates tailoring the exposure weight curve specifically to exclude underexposed (and probably noisy) or overexposed pixels from fusion. - In Enblend option "--load-masks" disables all mask computations and loads the blend masks directly from the specified files. This is the dual of Enblend's long-known option "--save-masks". - The option "--layer-selector" overrides the standard default layer selector. - In addition to the usual integral values option "--levels" takes the keyword "auto", which restores the default. (The default is to automatically choose the maximum number of pyramid levels for each separate overlapping region.) ** Deprecated Features - The option "--smooth-difference" will be eliminated in the next version of Enblend; it has not helped and moreover only put lipstick on the seamline-optimizer's objective function. - The user-(re)sizable image-cache will not be available in later versions of Enblend and Enfuse. We are not sure yet whether it will be replaced by an mmap-based solution or just tossed out. ** Developer Stuff - XHTML validation does not rely on network access anymore. This means all necessary DTDs must be available locally and all catalogs must be set up correctly to build the XHTML documentation. - The option "--parameter" allows developers to pass arbitrary key-value pairs to Enblend and Enfuse. The keys must match the regular expression [A-Za-z][A-Za-z0-9_-]*; the values can be almost any string. No further checking or validation is performed. For more explanations on how to use parameters in the source code, see the block-comment within "namespace parameter" in file "common.h". ** Package Maintainer Stuff - Enblend and Enfuse now use LittleCMS version 2.x. - Enblend and Enfuse no longer rely on their own versions of the Vigra imaging library. Vigra version 1.8 or later is now required to build. - Enblend no longer relies on libXMI. (Enfuse never needed this library.)
2012-12-09 01:11:42 +01:00
.include "../../graphics/lcms2/buildlink3.mk"
.include "../../graphics/openexr/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../graphics/tiff/buildlink3.mk"
* Version 4.1 "Trouble In Paradise" Released on December 8, 2012. ** Improvements - All deprecated options since version 4.0 have been removed. - A new primary seam-line generator, based on a Graph-Cut algorithm, has been implemented during GSoC 2011 by Mikołaj Leszczyński. The old Nearest-Feature Transform remains the default. The new algorithm is activated with "--primary-seam-generator=graph-cut". - The difference image on which Enblend's seam-line optimization relies for color images uses a perceptual model by default (option "--image-difference"), yielding a true CIE76 "Delta E" with the (default) luminance and chrominance weights of 1. - Parallelize CIECAM02 color conversion (option "--ciecam"). Speedups of up to 40% have been reported on the amd64 architecture. The computationally expensive color-space conversion still slows down blending and fusing by some 25%. - Enblend and Enfuse integrate seamlessly in color-managed workflow. Input images with color profiles automatically enable CIECAM blending and the output image is assigned the input images' color profile. - Enblend and Enfuse exploit a new feature in LittleCMS Version 2.x called "Unbounded CMM". Thereby, the hue and saturation of extreme shadows and highlights can be preserved much longer before pure black or white are reached. See: http://www.littlecms.com/CIC18_UnboundedCMM.pdf - Assign different profiles to profile-free input images with option "--fallback-profile" instead of being tied to sRGB. - A new gray-scale projector called "anti-value" helps when fusing with the intent of minimizing the noise in the output image. When employing a lower exposure cutoff this even is the default projector. - Both Enblend and Enfuse stop right after saving all generated masks to files, if option "--save-masks" is given, but option "--output" is not. This allows to splice tools that manipulate the masks and feed the masks back into Enblend and Enfuse with option "--load-masks". When combining option "--output" and "--save-masks" Enblend and Enfuse write all masks and the final output image as before. - Both Enblend and Enfuse can write their output JPEG files with arithmetic JPEG compression and TIFF files with JPEG compression, if the underlying JPEG and TIFF libraries support these compression schemes. ** Bug Fixes - Enblend and Enfuse consistently warn if they are passed input images that alternate between with color profile and without. - Grant SourceForge feature request ID 2991909 (OSX only). Previous to that, Enblend, when launched from a terminal window with GPU-acceleration (option "--gpu"), started a second, non-responsive terminal window and when this new Enblend window tried to "steal" the focus, it displayed the OSX rotating "beach ball". With the fix that all goes away. Also the responsiveness of the screen improves, which means that the non-functional window also hogged GUI resources. ** New Commandline Options - Option "--primary-seam-generator" controls the primary seam-line generation algorithm. - Option "--image-difference" selects the difference image calculation algorithm and optionally assigns weights to the luminance and the chrominance part of the difference image. - Short option "-c" now has a sibling called "--ciecam". The long option also has a negated form: "--no-ciecam"; the short one has not. - The option "--fallback-profile=PROFILE" allows users to pass their own profiles for image sets that come without ICC color profiles. Before the hard-coded profile was sRGB. - The option "--exposure-cutoff" facilitates tailoring the exposure weight curve specifically to exclude underexposed (and probably noisy) or overexposed pixels from fusion. - In Enblend option "--load-masks" disables all mask computations and loads the blend masks directly from the specified files. This is the dual of Enblend's long-known option "--save-masks". - The option "--layer-selector" overrides the standard default layer selector. - In addition to the usual integral values option "--levels" takes the keyword "auto", which restores the default. (The default is to automatically choose the maximum number of pyramid levels for each separate overlapping region.) ** Deprecated Features - The option "--smooth-difference" will be eliminated in the next version of Enblend; it has not helped and moreover only put lipstick on the seamline-optimizer's objective function. - The user-(re)sizable image-cache will not be available in later versions of Enblend and Enfuse. We are not sure yet whether it will be replaced by an mmap-based solution or just tossed out. ** Developer Stuff - XHTML validation does not rely on network access anymore. This means all necessary DTDs must be available locally and all catalogs must be set up correctly to build the XHTML documentation. - The option "--parameter" allows developers to pass arbitrary key-value pairs to Enblend and Enfuse. The keys must match the regular expression [A-Za-z][A-Za-z0-9_-]*; the values can be almost any string. No further checking or validation is performed. For more explanations on how to use parameters in the source code, see the block-comment within "namespace parameter" in file "common.h". ** Package Maintainer Stuff - Enblend and Enfuse now use LittleCMS version 2.x. - Enblend and Enfuse no longer rely on their own versions of the Vigra imaging library. Vigra version 1.8 or later is now required to build. - Enblend no longer relies on libXMI. (Enfuse never needed this library.)
2012-12-09 01:11:42 +01:00
.include "../../graphics/vigra/buildlink3.mk"
.include "../../math/gsl/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"