2010-03-05 6.6.0-2 Cristy <quetzlzacatenango@image...>
- * add support for the -intensity-projection option that returns the
- maximum (or minimum) intensity projection for a sequence of images.
+ * Add support for the -maximum and -minimum options.
2010-02-27 6.6.0-1 Cristy <quetzlzacatenango@image...>
* Check to see if ICON image width /height exceeds that of the image canvas.
# #
# #
# #
-# M a x #
+# M a x i m u m #
# #
# #
# #
#
#
void
-Max(ref)
+Maximum(ref)
Image::Magick ref=NO_INIT
ALIAS:
- MaxImage = 1
- max = 2
- maximage = 3
+ MaximumImage = 1
+ maximum = 2
+ maximumimage = 3
PPCODE:
{
AV
PackageName);
goto PerlException;
}
- image=MaxImages(image,exception);
+ image=MaximumImages(image,exception);
if ((image == (Image *) NULL) || (exception->severity >= ErrorException))
goto PerlException;
/*
# #
# #
# #
-# M i n #
+# M i n i m u m #
# #
# #
# #
#
#
void
-Min(ref)
+Minimum(ref)
Image::Magick ref=NO_INIT
ALIAS:
- MinImage = 1
- min = 2
- minimage = 3
+ MinimumImage = 1
+ minimum = 2
+ minimumimage = 3
PPCODE:
{
AV
PackageName);
goto PerlException;
}
- image=MinImages(image,exception);
+ image=MinimumImages(image,exception);
if ((image == (Image *) NULL) || (exception->severity >= ErrorException))
goto PerlException;
/*
SvREFCNT_dec(sv);
info=GetPackageInfo(aTHX_ (void *) av,info,exception);
(void) FormatMagickString(info->image_info->filename,MaxTextExtent,
- "max-%.*s",(int) (MaxTextExtent-9),
+ "minimum-%.*s",(int) (MaxTextExtent-9),
((p=strrchr(image->filename,'/')) ? p+1 : image->filename));
(void) CopyMagickString(image->filename,info->image_info->filename,
MaxTextExtent);
% %
% %
% %
-% M a x I m a g e s %
+% M a x i m u m I m a g e s %
% %
% %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% MaxImages() returns the maximum intensity of an image sequence.
+% MaximumImages() returns the maximum intensity of an image sequence.
%
% The format of the MaxImages method is:
%
-% Image *MaxImages(Image *images,ExceptionInfo *exception)
+% Image *MaximumImages(Image *images,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
% o exception: return any errors or warnings in this structure.
%
*/
-MagickExport Image *MaxImages(const Image *images,ExceptionInfo *exception)
+MagickExport Image *MaximumImages(const Image *images,ExceptionInfo *exception)
{
-#define MaxImageTag "Max/Image"
+#define MaximumImageTag "Maximum/Image"
const Image
*next;
Image
- *max_image;
+ *maximum_image;
MagickBooleanType
status;
/*
Initialize maximum itensity image.
*/
- max_image=CloneImage(images,0,0,MagickTrue,exception);
- if (max_image == (Image *) NULL)
+ maximum_image=CloneImage(images,0,0,MagickTrue,exception);
+ if (maximum_image == (Image *) NULL)
return((Image *) NULL);
- if (SetImageStorageClass(max_image,DirectClass) == MagickFalse)
+ if (SetImageStorageClass(maximum_image,DirectClass) == MagickFalse)
{
- InheritException(exception,&max_image->exception);
- max_image=DestroyImage(max_image);
+ InheritException(exception,&maximum_image->exception);
+ maximum_image=DestroyImage(maximum_image);
return((Image *) NULL);
}
/*
number_images=GetImageListLength(images);
for (next=images; next != (Image *) NULL; next=GetNextImageInList(next))
{
- status=CompositeImage(max_image,LightenCompositeOp,next,0,0);
+ status=CompositeImage(maximum_image,LightenCompositeOp,next,0,0);
if (status == MagickFalse)
{
- InheritException(exception,&max_image->exception);
- max_image=DestroyImage(max_image);
+ InheritException(exception,&maximum_image->exception);
+ maximum_image=DestroyImage(maximum_image);
break;
}
if (images->progress_monitor != (MagickProgressMonitor) NULL)
proceed;
#if defined(MAGICKCORE_OPENMP_SUPPORT)
- #pragma omp critical (MagickCore_MaxImages)
+ #pragma omp critical (MagickCore_MaximumImages)
#endif
- proceed=SetImageProgress(images,MaxImageTag,i++,number_images);
+ proceed=SetImageProgress(images,MaximumImageTag,i++,number_images);
}
}
- return(max_image);
+ return(maximum_image);
}
\f
/*
% %
% %
% %
-% M i n I m a g e s %
+% M i n i m u m I m a g e s %
% %
% %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% MinImages() returns the minimum intensity of an image sequence.
+% MinimumImages() returns the minimum intensity of an image sequence.
%
-% The format of the MinImages method is:
+% The format of the MinimumImages method is:
%
-% Image *MinImages(Image *images,ExceptionInfo *exception)
+% Image *MinimumImages(Image *images,ExceptionInfo *exception)
%
% A description of each parameter follows:
%
% o exception: return any errors or warnings in this structure.
%
*/
-MagickExport Image *MinImages(const Image *images,ExceptionInfo *exception)
+MagickExport Image *MinimumImages(const Image *images,ExceptionInfo *exception)
{
-#define MinImageTag "Min/Image"
+#define MinimumImageTag "Minimum/Image"
const Image
*next;
Image
- *min_image;
+ *minimum_image;
MagickBooleanType
status;
/*
Initialize minimum intensity image.
*/
- min_image=CloneImage(images,0,0,MagickTrue,exception);
- if (min_image == (Image *) NULL)
+ minimum_image=CloneImage(images,0,0,MagickTrue,exception);
+ if (minimum_image == (Image *) NULL)
return((Image *) NULL);
- if (SetImageStorageClass(min_image,DirectClass) == MagickFalse)
+ if (SetImageStorageClass(minimum_image,DirectClass) == MagickFalse)
{
- InheritException(exception,&min_image->exception);
- min_image=DestroyImage(min_image);
+ InheritException(exception,&minimum_image->exception);
+ minimum_image=DestroyImage(minimum_image);
return((Image *) NULL);
}
/*
number_images=GetImageListLength(images);
for (next=images; next != (Image *) NULL; next=GetNextImageInList(next))
{
- status=CompositeImage(min_image,DarkenCompositeOp,next,0,0);
+ status=CompositeImage(minimum_image,DarkenCompositeOp,next,0,0);
if (status == MagickFalse)
{
- InheritException(exception,&min_image->exception);
- min_image=DestroyImage(min_image);
+ InheritException(exception,&minimum_image->exception);
+ minimum_image=DestroyImage(minimum_image);
break;
}
if (images->progress_monitor != (MagickProgressMonitor) NULL)
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp critical (MagickCore_MaxImages)
#endif
- proceed=SetImageProgress(images,MinImageTag,i++,number_images);
+ proceed=SetImageProgress(images,MinimumImageTag,i++,number_images);
}
}
- return(min_image);
+ return(minimum_image);
}
extern MagickExport Image
*AverageImages(const Image *,ExceptionInfo *),
- *MaxImages(const Image *,ExceptionInfo *),
- *MinImages(const Image *,ExceptionInfo *);
+ *MaximumImages(const Image *,ExceptionInfo *),
+ *MinimumImages(const Image *,ExceptionInfo *);
extern MagickExport MagickBooleanType
GetImageChannelExtrema(const Image *,const ChannelType,unsigned long *,
\-flatten flatten a sequence of images
\-fx expression apply mathematical expression to an image channel(s)
\-hald-clut apply a Hald color lookup table to the image
- \-max the maximum intensity of an image sequence
- \-min the minimum intensity of an image sequence
+ \-maximum the maximum intensity of an image sequence
+ \-minimum the minimum intensity of an image sequence
\-morph value morph an image sequence
\-mosaic create a mosaic from an image sequence
\-process arguments process the image with a custom image filter
\-flatten flatten a sequence of images
\-fx expression apply mathematical expression to an image channel(s)
\-hald-clut apply a Hald color lookup table to the image
- \-max the maximum intensity of an image sequence
- \-min the minimum intensity of an image sequence
+ \-maximum the maximum intensity of an image sequence
+ \-minimum the minimum intensity of an image sequence
\-morph value morph an image sequence
\-mosaic create a mosaic from an image sequence
\-process arguments process the image with a custom image filter
% %
% %
% %
-% M a g i c k M a x I m a g e s %
+% M a g i c k M a x i m u m I m a g e s %
% %
% %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% MagickMaxImages() returns the maximum intensity of an image sequence.
+% MagickMaximumImages() returns the maximum intensity of an image sequence.
%
-% The format of the MagickMaxImages method is:
+% The format of the MagickMaximumImages method is:
%
-% MagickWand *MagickMaxImages(MagickWand *wand)
+% MagickWand *MagickMaximumImages(MagickWand *wand)
%
% A description of each parameter follows:
%
% o wand: the magick wand.
%
*/
-WandExport MagickWand *MagickMaxImages(MagickWand *wand)
+WandExport MagickWand *MagickMaximumImages(MagickWand *wand)
{
Image
- *max_image;
+ *maximum_image;
assert(wand != (MagickWand *) NULL);
assert(wand->signature == WandSignature);
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
if (wand->images == (Image *) NULL)
return((MagickWand *) NULL);
- max_image=MaxImages(wand->images,wand->exception);
- if (max_image == (Image *) NULL)
+ maximum_image=MaximumImages(wand->images,wand->exception);
+ if (maximum_image == (Image *) NULL)
return((MagickWand *) NULL);
- return(CloneMagickWandFromImages(wand,max_image));
+ return(CloneMagickWandFromImages(wand,maximum_image));
}
\f
/*
% %
% %
% %
-% M a g i c k M i n I m a g e s %
+% M a g i c k M i n i m u m I m a g e s %
% %
% %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% MagickMinImages() returns the minimum intensity of an image sequence.
+% MagickMinimumImages() returns the minimum intensity of an image sequence.
%
-% The format of the MagickMinImages method is:
+% The format of the MagickMinimumImages method is:
%
-% MagickWand *MagickMinImages(MagickWand *wand)
+% MagickWand *MagickMinimumImages(MagickWand *wand)
%
% A description of each parameter follows:
%
% o wand: the magick wand.
%
*/
-WandExport MagickWand *MagickMinImages(MagickWand *wand)
+WandExport MagickWand *MagickMinimumImages(MagickWand *wand)
{
Image
- *min_image;
+ *minimum_image;
assert(wand != (MagickWand *) NULL);
assert(wand->signature == WandSignature);
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
if (wand->images == (Image *) NULL)
return((MagickWand *) NULL);
- min_image=MinImages(wand->images,wand->exception);
- if (min_image == (Image *) NULL)
+ minimum_image=MinimumImages(wand->images,wand->exception);
+ if (minimum_image == (Image *) NULL)
return((MagickWand *) NULL);
- return(CloneMagickWandFromImages(wand,min_image));
+ return(CloneMagickWandFromImages(wand,minimum_image));
}
\f
/*
*MagickGetImageClipMask(MagickWand *),
*MagickGetImageRegion(MagickWand *,const unsigned long,const unsigned long,
const long,const long),
- *MagickMaxImages(MagickWand *),
- *MagickMinImages(MagickWand *),
+ *MagickMaximumImages(MagickWand *),
+ *MagickMinimumImages(MagickWand *),
*MagickMergeImageLayers(MagickWand *,const ImageLayerMethod),
*MagickMorphImages(MagickWand *,const unsigned long),
*MagickMontageImage(MagickWand *,const DrawingWand *,const char *,
"-flatten flatten a sequence of images",
"-fx expression apply mathematical expression to an image channel(s)",
"-hald-clut apply a Hald color lookup table to the image",
- "-max return the maximum intensity of an image sequence",
- "-min return the minimum intensity of an image sequence",
+ "-maximum return the maximum intensity of an image sequence",
+ "-minimum return the minimum intensity of an image sequence",
"-morph value morph an image sequence",
"-mosaic create a mosaic from an image sequence",
"-process arguments process the image with a custom image filter",
ThrowMogrifyException(OptionError,"MissingArgument",option);
break;
}
- if (LocaleCompare("max",option+1) == 0)
+ if (LocaleCompare("maximum",option+1) == 0)
break;
- if (LocaleCompare("min",option+1) == 0)
+ if (LocaleCompare("minimum",option+1) == 0)
break;
if (LocaleCompare("modulate",option+1) == 0)
{
i++;
break;
}
- if (LocaleCompare("max",option+1) == 0)
+ if (LocaleCompare("maximum",option+1) == 0)
{
Image
- *max_image;
+ *maximum_image;
(void) SyncImagesSettings(image_info,*images);
- max_image=MaxImages(*images,exception);
- if (max_image == (Image *) NULL)
+ maximum_image=MaximumImages(*images,exception);
+ if (maximum_image == (Image *) NULL)
{
status=MagickFalse;
break;
}
*images=DestroyImageList(*images);
- *images=max_image;
+ *images=maximum_image;
break;
}
- if (LocaleCompare("min",option+1) == 0)
+ if (LocaleCompare("minimum",option+1) == 0)
{
Image
- *min_image;
+ *minimum_image;
(void) SyncImagesSettings(image_info,*images);
- min_image=MinImages(*images,exception);
- if (min_image == (Image *) NULL)
+ minimum_image=MinimumImages(*images,exception);
+ if (minimum_image == (Image *) NULL)
{
status=MagickFalse;
break;
}
*images=DestroyImageList(*images);
- *images=min_image;
+ *images=minimum_image;
break;
}
if (LocaleCompare("morph",option+1) == 0)