2 6 0 for Windows crashes
2 questions
46 tjxzs com cn 01
Active windows
Adapt colours how to
advanced guide to image editing
Advanced Imaging Magazine Free Subscription Available
Any hint for doing such a grungy logo
Any idea for improving this
ArsTechnica GIMP review
Artificial star spikes and or sparkle
art techniques for eliminating banding
Attn Gimp Users for Linux
A gimp note no reason given for not using it any longer
A script fu wallpaper generator
bamboo and gimp
basic issue cutting clearing
Beginner
Bill Board Size Graphic
Blurred border using Mogrify
Blurred border using Mogrify
browse picture
calling a script fu script in batch mode
Canon CR2
Can people sell Gimp
CDR and GIMP
Center an object to the center of the image
Challenge for smart user of ImageMagick GIMP to the winner
Changing Black to White in a GIF File
Changing colors to match another picture
Channels vs Layer mask
Christmas Wallpaper contest
Circular selection of set size
colour casts
converting frames to image stack to a movie format
Convert Bitmap
Copy past a layer
creating a new image container
Creating a watermark
Croping with an aspect ratio
cursor icon meanings map would be nice
curves tool how to set an other grid
Customizing Zoomfactor
Database Software for image management
Deleted some nef files on the memory
Different Toolboxes Views Between Two PCs
Erase logo in 4 pages of pdf files with gimp 2 4 6
Error on saving PNG images twice
Export all layers to distinct files
Export Import Templates
Eyedropper broken
fade out fade in
file descriptions from photoshop elements
Filling missing data with blurred data
Filling Object With A Textue
filmstrip import
Fonts for ImageMagic
Font addition in Open Office
Gamut Correction
gegl 0 21 where is it svn requires it
gegl almost there in LightHouse distro
Gimpshop
GIMP 2 6 0 is released
Gimp 2 6 1 packaged for mepis 8 beta3
Gimp 2 6 3
Gimp 2 6 3 Plug In pspi exe attempted to install a proced
GIMP 2 6 3 Toolbox not minimizable
GIMP 2 6 4 and Wacom Tablet
gimp 2 6 5
Gimp 2 6 5
Gimp 2 6 5 No encapsulated postscript supported
Gimp 2 6 and raw images
Gimp 2 6 print too large
Gimp and Epson 3800 Printer
GIMP and tabletss
Gimp API Information on changed functions
gimp calls in perl
gimp cannot read multi byte pgm files
Gimp continues to crash
Gimp crashes
Gimp gap bug
Gimp License Agreement Problem
Gimp mailing list server has invalid security certificate
Gimp Plug ins
gimp tutorial
gimp v3
GIMP Wins
Gimp won t start
Gothic glow
graphics
Great site about fonts
GUG Gimp User Group
guides using gimp batch processing gimp 2 4 6 for slicing scanne
Gutenprint 5 2 4
G MIC plug in 1 3 2 1 for GIMP is out
G MIC plug in for GIMP
Hair script
HDR Using The Gimp
Help updating Gimp 2 4 6 Gimp 2 6 3 needed
Hide an image inside an image
How do I do Image compression in 2 6 7
how to add fonts in Windows
How to auto threshold an image in script
How to change basic file configuration under Windows Gimp
How to configure gimp to use the Send by email option under
How to make an index sheet with GIMP of jpgs in a folder
How to make melted letters
How to place symbols or small icons on a layer by x y coordina
How to recover a corrupted xcf file or just one layer from it
How to reduce resolution
How to remove the gray veil
How to switch back to move adjust mode for Selections that are a
How to use the mouse in version 2 6 0
How to copy a black and white master
how UTF 8 B dG8gZXh0cmFjdCBpbWFnZXM from UTF 8 B c2xpZGVz
important menu item missing from my GIMP
insert gif logo in jpg with no white background
Installing a different language of GIMP
IPTC data not saved after Gimp editing
Is it possible to remove black line on face in pictures
Is Photoshop really better
is rh a clubfoot or slewfoot gimp
Is there a built in browser
Is there a stable version for Windows 7 64 bit
I forgot application name
jpeg to svg
lighting filter
Linux Graphic Contest Using open source software
Logos in 2 6 4
Macro Recording for Gimp What s new about this in the latest ve
Mac osx Leopard and wacom bamboo tablets
Mac OS Gimp 2 6 2 disabled keyboard shortcut
Mac OS Gimp 2 6 3 issues
Mac OS X Leopard Gimp 2 6
making a plain bowl have a tartan
making a script
Message for GIMP Team
Message for GIMP Team
Monday Morning greetings to you all
mosaic malfunction
Mosaic problems
Motion blur
Move to another screen
Multiple Errors on Plug ins
My first effort with the new stable G MIC plug ins
My Refocus Message
Need help with help
Newbie Paths and Transforms Question
New stable release of the G MIC plug in for GIMP
new version of linux will not use gimp
Odd Problem in 2 6 Pictures Opened as Layers Don t Behave the
Off Topic Kodachrome only one lab in the world now
Oh Crap
Opening windows in seperate screens
optimizing screenshots for website
partially shaded image please help
Path lines tool
Photoshop XCF Plugin
picture is disappearing all the time
Ping houghi re wallpaper size
Ping Michael Soibelman
Plug ins leave undo in Unstable State
Possible to copy colors values between images
Postcard with animated gif
Poster size vs image size and Kinkos
Printer and scanner interfaces
Printer and scanner interfaces
Printing and images
Printing
problems with X11
Problem enlarging low quality images
Problem importing PDF image problem with the text
Problem Loading G MIC
Problem mixing colors
Problem opening 12 bit hi res PGM images
Problem with installing web Export
PSD read support or psd xcf
PSP tubes to GIMP pipes How to guide found here
Question on where a Selection really resides
Q Scan multiple images at once
Reading raw files
Recent improvements of the G MIC project 1 3 3 3 release
Recovering lost detail in highlights
rectangle with border
Refocus It Plugin
refocus patch for modern gimp
Release notes for Gimp 2 6 8
Remove watermark
Restore Reddish Pictures
Restoring bad pics
resynthetizer
Re Installing Gimp on Windows 7 64 Bit refuses to load
Re 2 6 0 and still no printing joy
Re 2 6 1 made my toolboxes always on top
Re Alpha transparency problem
Re Averaging images
Re A gimped photo of Gimp Central in Surprise Arizona
Re browse pictures
Re Canon iP4500 and gutenprint
Re Change lines in PNG sketch from black to blue
Re Copying text layers
Re Copy a selection to layer
Re Correcting color cast to produce a natural skin tone
Re Create new layer from selections
Re Empty bar in toolbox
Re Fill a layer with transparency
Re Free Thanksgiving Clipart
Re Gimp 2 6 1 Windows XP permissions problem
Re GIMP 2 6 2 Useful fixes for Windows
Re GIMP Brush Manager
Re Gimp for Linux and Canon IPF5100
Re gimp org unavailable
Re Helpbrowser exe problem after many tries at various solution
Re Hotkey configuration
Re How i can edit script
Re How to adjust center layers
Re how to edit existing text in a layer
Re how to make a logo with Gimp
Re How to remove fluorescent yellowness from photo
Re Installing Help and gmic
Re Is there a way to automatically convert hundreds of png to
Re I lost script
Re just simple select tool
Re merge gif files
Re Need help with getting started
Re Need more fonts
Re Pen tablet hangs after opening GIMP
Re Picture is disappearing all the time
Re Picture with leaning building
Re Problem opening a tif created by Photomatix Pro
Re RAW conversion
Re Scanner and Print problems
Re Shrinking and inverting selection not working
Re SVG viewer
Re temp path
Re Trouble getting background to stay size
Re Two Questions
Re Wacom tablet problem
Re bmp and png
Rulers
Save a whole state of work
Saving perspective correction
scaled printing
Scanner and Printer troubleshooting
scripting in Gimp 2 4 with bash
Script Fu newbie hiding showing layers by layer name
Selections How to switch back to move adjust mode for Selectio
Selection Alpha Channel PNG Format
Separating subject from background what method have you found
show clipping feature in levels or curves
sizing placing correctly
smart sharpening
Snapping humming leads to gimping
Soft proofing in GIMP 2 6 4
Speed in calculating the average colour
squaring up an image
Straighten Tool for gimp
Success and thanks for the help
SVG viewer
Testing the Gimp
TFT properties for photo processing
The cartoon filter in G MIC an example
The Gimp has triumphed over yet another of my mediocre pictures
The GIMP sudden realization
The upper end of a wacom s pen
The openness of the interface fix
Think of Spinning a coin 360 only having scanned in 2 sides as
Toolbox Menu Bar
Tools for Fade out layer
Too many fonts
Too tiny previews in filters eg iwarp
Transforming a selection
Transparant over transparant over
tried an electronic viewfinder camera
tutorials
Twist plugin
Urgent Help needed Gimp woll not open b w TIFF
User Manual for v2 6 3
use with commandline
What s going on with the GIMP website
What s going on with the GIMP website
Where did the help files go
Which noise remover to use on digital photos
Why i
Windows installer for the 2 7 beta
Word Thought Balloons
ImageMagick How to extract only the first image off a multipag
Layers tab no worky Used to
Newbie Is it possible to remove a text from a scanned picture
register in perl scripts
register in perl scripts
Scheme resize level
URgent sorry Strange flickering toolbox
ISO 8859 1 Q 5BOT 3F 5D gimp 2Ecomp 2Egrafica 5Bhttp 3A 2F 2
How to erase specific color
How to permanently disable the 8 bit TIFF warning
More precise Convert multi layer XCF file into multi page P
2D or 3D
2D point matching in multi camera system
2 5D object dataset
3D from Image Video
3D medical image processing algorithms
3D reconstruction using Stereo camera
3rd Russian Summer School in Information Retrieval RuSSIR 2009
3 connectivity in binary image
4th Russian Summer School in Information Retrieval RuSSIR 2010
about project
access INRIA human database
Advanced Imaging Magazine Free Subscription Available
Advanced Imaging Free Magazine Subscription
aerial photo problem
AForge NET Framework 2 1 0 released computer vision in C
aliasing algorithm
Any free internet image searching programs
Are there papers which summarize or introduce face recognition t
Array of double number into Tiff using ImageJ
asinh stretch
A new way to easily post your images without you creating an acc
background subtraction
Bape shoes
barathi vizha 08
barcode localization
Basic Features in 3D
Basic question on interpolation
Beautiful Key Access Cards at www cards mart com
Best Image Processing Open Source Application in Win32
Binarization
blob detection background subtraction
Bone fracture detection
Brenner Gradient implementations algorithms
Brief history of Palestine Part 1
bwtraceboundary in MATLAB is it the ultimate soultion help
CALL FOR PAPERS International Journal of Computer Science Issues
Call for Papers Reminder extended IAENG International Confere
Call for Papers Reminder extended International MultiConferen
Call for Papers Reminder IAENG International Conference on Inte
Call for Papers Reminder submission deadline extended Interna
CALL FOR PAPERS 2010 IEEE Southwest Symposium on Image Analysis
Call for Papers BIOCOMP 10 The 2010 International Conference o
Call for Papers GEM 10 The 2010 International Conference on Ge
Call for Papers IAENG International Conference on Bioinformatic
Call for Papers IAENG International Conference on Control and A
Call for Papers IAENG International Conference on Electrical En
Call for Papers IAENG International Conference on Imaging Engin
Call for Papers IAENG International Conference on Software Engi
Call for Papers IKE 10 The 2010 International Conference on In
CALL FOR PAPERS International Journal of Imaging
CALL FOR PAPERS International Journal of Imaging
Call for Papers International MultiConference of Engineers and
Call for Papers Posters and Demo ICDSC 2010 Challenge
Call for Papers The 2009 International Conference of Data Minin
Call for Papers The 2009 International Conference of Informatio
Call for Papers The 2009 International Conference of Mechanical
Call for Papers The 2009 International Conference on Artificial
Call for Papers The 2009 International Conference on Bioinforma
Call for Papers The 2009 International Conference on Data Minin
Call for Papers The 2009 International Conference on Genetic an
Call for Papers The 2009 International Conference on Image Proc
Call for Papers The 2009 International Conference on Informatio
Call for Papers The 2009 World Congress in Computer Science Co
Call for Papers The 2010 International Conference of Applied an
Call for Papers The 2010 International Conference of Computatio
Call for Papers The 2010 International Conference of Informatio
Call for Papers The 2010 International Conference on Bioinforma
Call for Papers The 2010 International Conference on Genetic an
Call for Papers The 2010 International Conference on Informatio
Call For Papers WORLDCOMP 09 computer science computer engine
Call for Papers 5th International Colloquium on Signal Process
CALL FOR PAPERS Journal of Computing Volume 1 Issue 1 Dece
Call for Papers Sessions The 2009 International Conference on
Call for Papers Sessions The 2010 International Conference on
Call for Paper The International Journal of Computer Science IJ
CALL FOR PAPER International Journal of Tomography Statistic
Cannot find the include paths after installing OpenCV for windo
Can I save private data in a TIFF file
CFP CGVCVIP 2010 submissions until 19 February 2010
CFP VISUAL COMMUNICATION 2010 submissions until 19 February 201
CFP WEB3DW 2010 submissions until 19 February 2010
CFP with extended deadline of March 11 2009 WORLDCOMP 09 The
CFP with extended deadline of Mar 11 2009 The 2009 Internatio
CFP with extended deadline of Mar 17 2009 The 2009 Internatio
CFP 5th International Symposium on Visual Computing Nov 30 D
CFP Optical SuperComputing Workshop 2010
CFP The 2009 International Conference on Artificial Intelligenc
CFP The 2009 International Conference on Data Mining DMIN 09
CFP The 2009 International Conference on Genetic and Evolutiona
CFP The 2009 International Conference on Image Processing Comp
CFP The 2009 International Conference on Information and Knowle
CFP The 2010 International Conference on Artificial Intelligenc
CFP The 2010 International Conference on Bioinformatics and Com
CFP The 2010 International Conference on Data Mining DMIN 10
CFP The 2010 International Conference on Image Processing Comp
CFP International Journal of Computer Science and Information
CGAL 3 4 Released Computational Geometry Algorithms Library
chamfer matching implementation
cheap wow gold
China Cat tree Factory WWW PETBED CATTREE COM Cat tree Factory C
CHINA PET BED WWW PETBED CATTREE COM China Pet Products CAT TREE
CIA Panetta Health IT who will control private data W H Emer
code of matlab function
Color correction of old color negatives
Color histogram by reference colors
color image stretching
Comparing Images
CompIMAGE 2010 Call for Short Communications
comprehensiveness of worship in islam
Compressive Sensing
Computerized Medical Imaging and Graphics Special Issue on Whole
connectedness rule
Contourlet Bamberger Decomposition of Laplace Pyramid
Converting an Image to HTML online
Converting BMP to YUV444 using ImageMagick convert
convolution frequency relation
Could you give Simply Video Process Example
Could you please help me with English writing of my paper
Creating waterfall scrolling image display
Cross correlation using FFT s problem
Cross correlation with sub pixel accuracy
C C library for point cloud mesh manipulation
C libraries DLLs for image video read write
daily express urdu urdu newspapers of pakistan daily express
DanIDL v1 0
Day 13 of the Israeli War On Gaza
Deadline extension Optical SuperComputing Workshop 2009
debate
detailed paper on 3D noise reduction MCTF
Determining if a kernel is seperable
DE University of Paderborn Doctoral Post Doctoral Research P
Differential rectifcation of air photos
dimensions of multivariate gaussian s probability
Discount Prada Sunglasses Discount www king trade cnD G Sungl
Does the Report as spam Button in Google Groups Work
DON T FIGHT FOR CHANGE OF HUMAN RACE
downloading image databases and broadband fair usage policies
Download Maps from Google Earth
Download Maps from Google Earth
Draft paper submission deadline is extended IVPCV 10
drivers and software to operate Matrox Meteor 1 under Windows
Drunkin Wife Drunk Sex Video
ECCM2010 Mini Symposium on Image Processing and Visualization
ECCOMAS CFD 2010 Mini Symposium on Image Processing and Visualiz
ECCOMAS Thematic Conference VipIMAGE 2009 Call for Thematic Ses
Edge detection of color images
Effect of gaussian smoothing on a circumference
error
ET IS REAL
EURASIP JASP Special issue on Image Processing and Analysis in
Extract Audio content form Video
eye peace digital camera
E M algorithm over data from periodical domain
Face detection and Recognition for embedded systems
FAIR WESTERN EYES
feature selection for a 2D image
FFT phase errors
Finding Circles in image help needed
finding peaks in image histogram
Finding squares rectangles in Hough transform output
Finding the outline of a 3D Object
Find distance between donut
Find the rice in the image
For 4 more days
For All your FREE GIS Data needs
Free GIS Software Download Google Earth Maps Trace save GPS
Free satellite maps Color relief posters Immediate download
fuzzy image processing problem
generating glass and plastic wrap effect
Generating image from ASCII or program code
Generating image from ASCII or program code
Generating new image based on colours
Global Warming and what you can do to against it
GMM UBM
Grabbing Pixels from Images using C
guidance for research in image processing
Happy New Year
hardware jpeg compression
Harris corner detection
hausdorff distance
Help for Final Year Project An extensive framework for CBIR
Help me Guide me please
Help who have ov529 database
High resolution eps images using Matlab
Holiday Wishes
HOLLYWOOD HOT FAVARATES KISSES
HOW
How Do I Get Native Resolution of Canon Printers from within Mic
How to calculate the frequency of 2D FFT Output image
How to detect noisy broken ellipse
How to Find Image Similarity
How to find rate of similarity of two Image
How to get array of data from a part of scren display
how to get dominant frequency of one image
How to normalize an image to zero mean and unit variance Options
HOW TO STOP NERVOUS COUGH
How to write an array into a band not a dataset
Hu s moments
IEEE TechSym 10 3 4 April 2010
Images in the frequency domain
Images to EPS
Image Extraction
image grabbing
image processing
image processing in imaging
Image Processing Jobs
Image Processing Researchers Access to over 10 000 researchers
Image Researcher Increase Your Research Productivity with the L
Image resize algorithm
Image Video Coding and Processing Workshop in China
implementing gabor filters as shown in BURCU KEPENEKCI s paper
Information Technology IT Computer Science for Oak Ridge Nat
International Journal of Electronics Information and Systems I
International Journal of Mathematics and Computation IJMC
Introducing the Global Directory of Doctoral Dissertations
Inverting a Filter
Iris blob matching algorithm
iris segmentation
ISPA09 Call for Papers Special Session on Endoscopic Image P
Israel Contravening International Law in Gaza Rights Groups say
Is there any way to enhance this image
Is There Intentional Reduction of Texture Details In HDTV Broadc
it s all about women
it s for all mankind
I am a hero If you want to know what is Armageddon it is nece
I AM SAD
I need GIS data soon
I Need Help for HoG understanding
I obtain better result after the image is downsampled
I will appear in Jerusalem I am a hero If you want to know what
Java fast native class for the Walsh Hadamard transform and the
JESUS in the QURAN
Jews and the Gaza holocaust
JOB CV Imaging Scientist Sunnyvale CA
JPEG2000 Implementation
kurukshetra2010 events
Lacoste Polo Shirts discount Lacoste Classic Men Polo Shirts
Lacoste shoes Air force one shoes paypal payment www yourbests
Landsat MSS gain and bias
Last Call for Papers Reminder extended IAENG International Co
Last Call for Papers Reminder extended International MultiCon
Last Call for Papers 2010 IEEE International Symposium on Biome
Last Call for Papers The 2009 International Conference on Artif
Last Call for Papers The 2009 International Conference on Genet
Last Call for Papers The 2009 International Conference on Image
Last Call for Papers The 2009 International Conference on Infor
Last Call For Papers WORLDCOMP 09 Computer Science Computer E
Latest Version of Tria Image Processing It s a good one
learning classifiers from unlabeled data
Line detection in chessboard image
Locating An Image At Arbitrary Scales Translations and Rotatio
Lowest Airfares from New York to Hyderabad India
Machine vision libraries
Making image from point data
malcom x
Mammographic Image Analysis Homepage
Medical Image Analysis Staff Position UPenn
Medical Image Regisration Web Site
Medical Image Registation Research
Medical Image Registration
Medical Image registration Personal Site Makris Long is my
merits of islam in the area of creed
Merits of Islam in the Relationship Between Men Women
Merry Christmas
MetaMorph 5 Journal Image scaling
multi date pca
My re designed web site back on line again
Needs some help on blurred image restoration with MAP
Need Help with Image Processing using Mathematica
Need to find Eigenface
Need to help on 3D reconstruction
Nerve cell diameter
NetKeys algorithm Used to evolve spanning trees using real numb
Newbie question
Newton Raphson based template matching
New Book published by Springer
NEW BOOK Recent Advances in Face Recognition
New research paper management tool Mendeley
new Tech competition
New Websites TTI Production Satellite Imagery Data Provider
Nike air force one air force 1 air force one low cut air forc
No one gets an A
object recogniction from edge map
Object recognition
OCR New methods Help needed
on the rendering tools used in multiview stereo
OpenCv on Darts Game
Opening and saving images quickly in Matlab
Open Vision System
ours
Palestinians killed 2100 wounded in the Gaza holocaust
parameters and objective assessments for edge detection algorith
Paypal payment Discount Wholesale Retail D G bags CHLOE True lea
Phase correlation code
Phase of sine wave or cosinus fourier transform
PhD Studentship in Computer Vision 3D Face Appearance Modellin
PhD Studentship in Image Processing and Image Recognition
PhD Student Position Molecular Image Processing From Cell to Or
Photos and music not good
Photos and music not good
Picasa and artificial intelligence for image processing
Pin hole lenses for machine vision
plz help
POCS
PolSARpro Problems with Acrobat on Windows XP
possibility of converting grayscale images to color images
Possible OCR project longish
Prada shoes paypal payment www yourbestshoes cn
Principal Components Hotelling of KL Transform of 2 Band Red
Publicly available hough transform code in C or any other langua
Python and Image Processing
Quantitative measure of degreee of focus across an image for se
Quantization matrix 16x16
question about image processing on PC
Question about inferring a 2D filter from its frequency spectrum
Question on logarithmic and linear detectors
Question on mask convolver
Question on template matching
Radial Blur allgorithm
radiometric calibration for a digital camera using a color chart
real time image processing
real time image video processing
RECT and line detection
Reduce the computation time of 2D convolution
registering an image
Release of Tria Image Processing Program V2 4
Rescaling and overlaying the shapes on scatter plot
Research assistantship in brain science
Research assistantship in neuroimaging
Re Acoustic Camera
Re Announcement Evolution based improvement of at least web i
Re Autofocus algorithms in image processing
Re background removal
Re Blue sky problem with image based lighting
Re color image processing
Re Comparison between FFT and Convolution
Re Display of 64 color image using palettes
Re Dithering using windows palette 16 colors
Re Equality Between Men and Women in Islam
Re extraction from image
Re fast gaussian filter
Re Finding code source for read mpg avi mpeg video
Re Find distance between donut
Re For as little as another two cents what do we get
Re Gaussian blur image
Re Has any made the switch from matlab to scilab or other open
Re Help me
Re Histogram in medical images
Re How to design a weak classifier to classify histogram
Re ideal edge maps
Re Image Compression Using Fourier Transforms
Re image processing for medical diagnostic tuberculosis bacteri
Re Image Processing SDK under Visual C
Re interpolation increases the resolution
Re Invariant moment help needed analyze some problem
Re JFIF colorspace working practice
Re Matching object shapes in different image types
Re Mexican hat
Re NewsProxy Linuxissa
Re New free source image processing code
Re NIKE AIR JORDAN FORCE FUSION SHOES AJF 5 V JORDANs 5 FUSION
Re PRADA bags paypal payment www king trade cn
Re Prada shoes paypal payment www king trade cn
Re preprocessing prior to excute PCA
Re Questions about the SIFT algorithm
Re Question on despckle relative big speckle in grayscale image
Re Remove speckles in bilevel bw image
Re Remove speckles in bilevel bw image
Re searching faces using pca
Re Splitting concave figures
Re svs image format
Re Template Matching with subpixesl accuracy
Re The God
Re Threshold methods for poor signal to noise images
Re Tuhoisa terrori isku Intiassa synagoogaan
Re Ugg shoes paypal payment www king trade cn
Re Unwrap a circular strip into a rectangular one
Re Video Tracking in C
Re whats the differece between recognition and detection
Re what is it all about
Re Where can I find image archives from semiconductor industry
Re wiener filter 2D
Re DRAWN SEX
RGB to wavelength related problem
Rotate filter kernel convolution
Rotation of color bitmap
Scanner Resolution For Scanning Pressure Film
SCface Surveillance Cameras Face Database
Scharr edge detection
SCIENIFIC ACCURACY
seamless view of images
Seek Fiche to PDF
Selecting two colours from an image
Separable Median Filter Question
Show respect
simulink video blockset model
SMISDK Open Source now
sobel kernels
Sobel operator implementation
Solar cells for less than 1 USD per Watt
solutions for student team
Solutions Manual Instructor s Manual and Test Bank COLLECTION
Solution Manual
Some Basic Islamic Beliefs
Spatial hash function
Spectral Unmixing GFP and YFP from single RGB image
Splitting the FFT of a dataset
Star detection and registration algorithms
Statistics of the colors in natural images
Strange endless loop Why
Submit Your Research Papers to be Read and Cited by Thousands of
sub pixel shift
sweep line for detection of intersecting line segments
Synthetic motion blur
Teras
There goes my D ck
The Creator
The Effect of Prayer on the Human Body
The fate of the moon in the Holy Quran and science
The Jacobian of an Image
The Judicial System in Islam Its Legal Basis and Islam Ruling
The last time spam I am Isaac Newton I will appear in Jerusale
the prophet children
the purpose of worship in islam
the purpose of worship in islam
The wet one
tilting an image
TOC of International Journal of Digital Crime and Forensics IJD
Topics on Electronics
topomaps recognition
topomaps recognition
Tryst 2010 IIT Delhi Annual Technical Festival
Ugg shoes paypal payment www yourbestshoes cn
Upload A Photo To A Scientific Image Template
Using a camera to mesure the distance of two points in the real
Using MATLAB Image Acquisition Toolbox with webcam in deploy mod
value of Gaussian filter coefficient
Vangelis
Vangelis
Visa 5 year Student visa Immigration china uk usa Canada
Visual programming language and matlab
Voxels in IDL
Wanted Iodine 125 Isotopes for Lixi Scope
Wanted FFT 1D C Source Code that is Free Concise Semi Arbit
WCCM APCOM2010 Mini Symposium on Computational Methods in Imag
Webist www trademm com
We are all dead
What a photon really is
What does the term tones mean
what is it all about
which algorithm would you like to use in implementing user searc
why does the binary image look wrong
Why QUARKS have assymptotic freedom
WHY TO READ IT
why we convert to gray scale
window bitmap image header specifications
XDepth Raw Converter released free
XDepth Raw a jpeg compatible Raw compressed format for digital
xray viewing quality
Zoom in and pixeled images
daily express urdu urdu newspapers of pakistan daily expres
JOB C Engineer New York City 80 110k
Mene mene
Online handwriting recognition algorithms
pilot density in mean shift algorithm
Big5 B t3Ok bZLuc 9177C
GB2312 Q Hi I want to how to use AForge 2Enet in C 23 to conne
windows 1252 Q Can gray image 92 pixel value be negative 3F
windows 1252 Q CompIMAGE 2710 2C Buffalo 2DNiagara 2C May 5 2D
windows 1252 Q Processing and Classification of Satellite Imag
windows 1252 Q Prophet Muhammad 92s Last Sermon 3A A Final Adm
windows 1252 Q Symposium 93Computational Methods in Image Ana
windows 1252 Q Symposium 93Image Processing and Analysis 94 w
windows 1252 Q Symposium 93Image Processing and Visualization
windows 1252 Q Symposium 93Visualization and Human 2DComputer
windows 1252 Q VipIMAGE 2009 96 ECCOMAS Thematic Conference
windows 1252 Q Workshop 22Medical Imaging Systems 22 within E
windows 1252 Q Workshop 93Medical Imaging Systems 94 within E
SEISMIC DESIGN
Download THBImage image and vector viewing and processing SDK
Download THBImage image and vector viewing and processing SDK

THBImage Viewer is a small and fast raster picture and vector data viewer.
THBImage Viewer is a small and fast raster picture and vector data viewer.

making a script




Message-ID:<48d7cad5$1_5@news4us.nl>
Subject:

making a script


Date:Mon, 22 Sep 2008 17:41:57 +0100


Hi

I use Gimp just for 2 things.

- resizing pictures to a standard format
- filters - decor - fuzzy border (each time same border)

Can I make a script what does this for me ?

tia Paulx




Message-ID:<slrngdfs1e.a47.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Mon, 22 Sep 2008 20:21:18 +0100


-=MrX=- wrote:
>
>
> Hi
>
> I use Gimp just for 2 things.
>
> - resizing pictures to a standard format
> - filters - decor - fuzzy border (each time same border)
>
> Can I make a script what does this for me ?

Yes. Resizing is easier with ImageMagick.
I use some scripting with the making of wallpapers.
http://houghi.org/script/00_personal_scripts/wallpaper_maker does the
following. It takes an image, makes it the right height, puts a fuzzy
border around it and then puts a deeper nrder around that.

It also takes the name and puts it on it.

A sample of how it will look
http://houghi.org/shots/slides/wppbr_scp_004_celebrities_elisha_cuthbert_02.php

Now I don't expect people to be able to read the script, let alone
understand it. I have not looked at it for a few years, so I probably
would do it a bit different now.

So again, use something else for the resize. Imagemagick is much easier
and proably faster as well. Even the extra border I do with ImageMagick.

I use fuzzy.pl Apparently the old maintainer does not have it on its
website anymore so I just put it up.

http://houghi.org/script/fuzzy.pl

Go to "call the fuzzy border script with parameters" where you can
change the parameters.

For a different effect like http://houghi.org/shots/slides/Jessica6.php
I use http://houghi.org/script/00_personal_scripts/wpm_photo

Instead of the perl script, I directly use the GIMP batch mode.

To make the 'photo' I need 3 parameters. The filename, the name of the
image and the number of the photo.

Simpel example:

#!/bin/bash
FILE=$1
NAME="Fuji Color"
NUM=27
gimp --batch-interpreter plug-in-script-fu-eval -i -b '(batch-slide "'$FILE'" "'"$NAME"'" "'"$NUM"'")' -b '(gimp-quit 0)'

The shadow effect is even easier. By this time the filename os temp.png

gimp --batch-interpreter plug-in-script-fu-eval -i -b '(batch-drop-shadow "temp.png")' -b '(gimp-quit 0)'

So basicaly it is build up as follows
# first the part to call the script
gimp --batch-interpreter plug-in-script-fu-eval -i -b '(
# Next the name with batch in front of it, together with the parameters
# you can edit
batch-drop-shadow "temp.png"
#Then the closing and ending of the batch call
)' -b '(gimp-quit 0)'

And let me repeat myself again. Look at ImagaMagick That can do a LOT
for you much easier and faster then using Gimp in scriting. Use the best
tool at the best moment.

houghi
-- 
Let's not be too tough on our own ignorance. It's the thing that makes
America great. If America weren't incomparably ignorant, how could we 
have tolerated the last eight years? 	-- Frank Zappa, in 1988




Message-ID:<slrngdg38a.a47.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Mon, 22 Sep 2008 22:24:26 +0100


houghi wrote:
> http://houghi.org/script/fuzzy.pl

This does not seem to work anymore on my openSUSE 11.0. So I was trying
to put it in just like I did with the other things, but I get a lot of
errors.

I do:
gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
'(script-fuzzy-border file.jpg)' -b '(gimp-quit 0)'

All on one line. That gives me (almosy obviously) the error "batch
command: experienced an execution error." because I have not added the
correct parameters.

I have looked at http://www.lemur.com/dmm/culch/scriptsfu/index.html
I have looked in Xtns, Script Fu,. Script Fu Console
I have looked in 

I have gone as far as
gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
'(script-fuzzy-border heidi_hanson_20080921_0155.jpg 0 \'(255 255 255)
\'(16 1 200 1 10 0 1) TRUE \'(4 1 16 0.25 5 2 0) FALSE \'(100 0 100 1 10
0 0) TRUE TRUE )' -b "(gimp-quit 0)"
bash: syntax error near unexpected token `('

And then I started looking for the other things and some gave errors as
well:
houghi@pasta : gimp --batch-interpreter plug-in-script-fu-eval -i -b
'(batch-drop-shadow "heidi_hanson_20080921_0155.jpg")' -b '(gimp-quit
0)'
batch command: experienced an execution error.

Things that worked before stopped working (again)

This sucks heavily. For now each version of GIMP I had to re-invent the
wheel all over again. :-(

houghi
-- 
This was written under the influence of the following:
|  Artist : Midnight Oil
|    Song : The Dead Heart
|   Album : Diesel and Dust




Message-ID:<48d9025d$1_1@news4us.nl>
Subject:

Re: making a script


Date:Tue, 23 Sep 2008 15:51:10 +0100


houghi wrote:
> houghi wrote:
>> http://houghi.org/script/fuzzy.pl
> 
> This does not seem to work anymore on my openSUSE 11.0. So I was trying
> to put it in just like I did with the other things, but I get a lot of
> errors.
> 
> I do:
> gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
> '(script-fuzzy-border file.jpg)' -b '(gimp-quit 0)'
> 
> All on one line. That gives me (almosy obviously) the error "batch
> command: experienced an execution error." because I have not added the
> correct parameters.
> 
> I have looked at http://www.lemur.com/dmm/culch/scriptsfu/index.html
> I have looked in Xtns, Script Fu,. Script Fu Console
> I have looked in 
> 
> I have gone as far as
> gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
> '(script-fuzzy-border heidi_hanson_20080921_0155.jpg 0 \'(255 255 255)
> \'(16 1 200 1 10 0 1) TRUE \'(4 1 16 0.25 5 2 0) FALSE \'(100 0 100 1 10
> 0 0) TRUE TRUE )' -b "(gimp-quit 0)"
> bash: syntax error near unexpected token `('
> 
> And then I started looking for the other things and some gave errors as
> well:
> houghi@pasta : gimp --batch-interpreter plug-in-script-fu-eval -i -b
> '(batch-drop-shadow "heidi_hanson_20080921_0155.jpg")' -b '(gimp-quit
> 0)'
> batch command: experienced an execution error.
> 
> Things that worked before stopped working (again)
> 
> This sucks heavily. For now each version of GIMP I had to re-invent the
> wheel all over again. :-(
> 
> houghi

I sometimes use ImageMagick for screenshots, with EOG, but I like to 
work with a graphic interface :(

Thnx for your answer




Message-ID:<slrngdi1gp.92m.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Tue, 23 Sep 2008 16:07:05 +0100


-=MrX=- wrote:
> I sometimes use ImageMagick for screenshots, with EOG, but I like to 
> work with a graphic interface :(

I use scripting to process several hundred of images. No way that I am
able to do that one by one by hand.

houghi
-- 
All opinions are not equal. Some are a very great deal more robust,
sophisticated and well supported in logic and argument than others.




Message-ID:<slrngdik3f.l7i.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Tue, 23 Sep 2008 21:24:15 +0100


houghi wrote:
> I have gone as far as
> gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
> '(script-fuzzy-border heidi_hanson_20080921_0155.jpg 0 \'(255 255 255)
> \'(16 1 200 1 10 0 1) TRUE \'(4 1 16 0.25 5 2 0) FALSE \'(100 0 100 1 10
> 0 0) TRUE TRUE )' -b "(gimp-quit 0)"
> bash: syntax error near unexpected token `('
>
> And then I started looking for the other things and some gave errors as
> well:
> houghi@pasta : gimp --batch-interpreter plug-in-script-fu-eval -i -b
> '(batch-drop-shadow "heidi_hanson_20080921_0155.jpg")' -b '(gimp-quit
> 0)'
> batch command: experienced an execution error.

I have now tried so many things with still the same non-result. Anybody
who can help us out? I have now wasted several hours on this and I am
getting nowhere. :-(

houghi
-- 
First we thought the PC was a calculator. Then we found out how to turn
numbers into letters with ASCII and we thought it was a typewriter. Then
we discovered graphics, and we thought it was television. With the World
Wide Web, we've realized it's a brochure. -- Douglas Adams.




Message-ID:<48da489f$1_5@news4us.nl>
Subject:

Re: making a script


Date:Wed, 24 Sep 2008 15:03:14 +0100


houghi wrote:
> houghi wrote:
>> I have gone as far as
>> gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
>> '(script-fuzzy-border heidi_hanson_20080921_0155.jpg 0 \'(255 255 255)
>> \'(16 1 200 1 10 0 1) TRUE \'(4 1 16 0.25 5 2 0) FALSE \'(100 0 100 1 10
>> 0 0) TRUE TRUE )' -b "(gimp-quit 0)"
>> bash: syntax error near unexpected token `('
>>
>> And then I started looking for the other things and some gave errors as
>> well:
>> houghi@pasta : gimp --batch-interpreter plug-in-script-fu-eval -i -b
>> '(batch-drop-shadow "heidi_hanson_20080921_0155.jpg")' -b '(gimp-quit
>> 0)'
>> batch command: experienced an execution error.
> 
> I have now tried so many things with still the same non-result. Anybody
> who can help us out? I have now wasted several hours on this and I am
> getting nowhere. :-(
> 
> houghi

So if I understand you well, ImageMagick is not the solution ?




Message-ID:<871vz8pen2.fld@apaflo.com>
Subject:

Re: making a script


Date:Thu, 25 Sep 2008 13:57:05 +0100


houghi <houghi@houghi.org.invalid> wrote:
>In this I am using 'fuzzy-borders' as an example, not as a goal in
>itself. That is why I started a new thread.
>
>I got as far as the following:
>gimp -i -d -b "(script-fu-fuzzy-border \"foo.png\" RUN-NONINTERACTIVE
>\'(100;100;100) 100 0 16 0 0 0 1)" -b '(gimp-quit 0)'
> batch command: executed successfully.
>
>However it does not seem to pick up the image. In fact wether the image
>exists or not is irrelevant of the outcome.

I have used gimp's batch processing only slightly, so
I'm no expert on this.  But there is at least one
obvious problem, which quite general in scope too.

You are using the batch mode to execute a scheme script
that operates on a previously loaded image.  The scheme
script was written be a menu option available for
interactive users, and does nothing to load such an
image.  Note that "foo.png" is not an image, it is a
*file*, and the "script-fu-fuzzy-border" function
requires an image for the first argument.  (I can't
relate argument list in the example command above to the
argument list required by script-fu-fuzzy-border.)

To use the "script-fu-fuzzy-border" function in batch
mode you need to first execute the required gimp
functions to load an image by reading one from a file.

That could be done with prior -b options specifying one
or more gimp functions that would accomplish whatever is
required to have gimp in a state that allows
'script-fu-fuzzy-border' to work.  Or, the most likely
way to accomplish that is to write a separate script
that calls all of the functions in order, and use that
in the command line with the -b option rather than
having -b options for each function needed.

That is generally true of *every* function available via
the batch processing.  It is either a script written to
be executed as a batch, or it needs one to be used.

If I remember right there was mention in this thread
previously of the best example available on the the WEB
for how to do that, which is the one that does Unsharp
Mask.

In addition, the two Unsharp Mask example scripts for
use in batch mode have another characteristic that needs
to be addressed as part of the learning curve for
writing batch mode scripts.  The simple one is just
that, too simple!

It loads one file, applies USM, and writes the file back
to disk.  Two problems...  you just lost your original
file, and if the applied USM is not exactly correct, you
had better have backup!  That of course can be handled
manually outside of the gimp script, but you do need to
know about it and avoid working on unique image files that
are not backed up.

The second problem is that the script does only one
file, and that means gimp must be loaded for every file
the script is executed on, which makes it horribly slow
for any number of files larger than a handful.  Usually
a large number of files is the exact reason a script is
written, so that is an important deficit.

What it means in simple terms is that the "simple"
script is good for learning, but it is not of much value
for production.  The second variation, which will
operate on multiple files as specified on the command
line, is the one use as a starting point to build your
own batch scripts.

-- 
Floyd L. Davidson <http://www.apaflo.com/floyd_davidson>
Ukpeagvik (Barrow, Alaska)              floyd@apaflo.com




Message-ID:<slrngdo6sv.958.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 00:15:43 +0100


houghi wrote:
>> To use the "script-fu-fuzzy-border" function in batch
>> mode you need to first execute the required gimp
>> functions to load an image by reading one from a file.
>
> OK and how do I do that?

OK, I am again loosing several hours over this. I start with
http://www.gimp.org/tutorials/Basic_Batch/ and that works.

What I see there is absolutely no serious attempt to explain anything.
It is more a 'How to drive a car? You step in and drive away.' type of
thing. Pity to see that sch a thing where the GIMP could beat anything
is so neglected. :-( Anywah ..

I see two places where things are defined. The first is the define of
simple-unsharp-mask. The second is the plug-in-unsharp-mask.

Let me look at the first thing. There I see respectivaly filename,
radius, amount and threshold. Those are used as well in the commandline
with "foo.png" 5.0 0.5 0.

However when I look in Xtns, I see much more parameters. With a lot of
trial and error I was able to make a sharpen script that worked.

So I then try to re-write it for the fuzzy border and get to the
following:
(define (border-fuzz filename
                color
                value
                toggle
                value
                toggle
                value
                toggle
                toggle
                )
(let* ((image (car (gimp-file-load RUN-NONINTERACTIVE filename
filename)))
(drawable (car (gimp-image-get-active-layer image)))) 
(script-fu-fuzzy-border RUN-NONINTERACTIVE
                           image drawable 
		color
                value
                toggle
                value
                toggle
                value
                toggle
                toggle  
                )
(set! drawable (car (gimp-image-get-active-layer image)))
(gimp-file-save RUN-NONINTERACTIVE image drawable filename filename)
(gimp-image-delete image)))

As command I give the following on one line:
gimp -i -b '(border-fuzz "foo.png" (0;0;0) 50 0 50 0 0 0 0)' -b
'(gimp-quit 0)'

It tells me it is successfull and nothing happens. I have no idea where
I am going wrong as there is no documentation available. I also doubt
that I am the only person in the world wjo wants to use gimp in a script
mode. So please can somebody show me what it must be instead of what I
have. No explanation, just the raw code. I can then try to fugure out
myself what I am doing wrong and apply it to other things.

I will then probably even write it all down for others to use.

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<slrngdpcua.mr0.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 11:04:58 +0100


Niels Giesen wrote:
> Sorry, not giving the raw code, but code interspersed with comments. 

Great. Code would probably have been enough, but comments are nice to
have as well.

<snip as I do not use emacs and do not intend to learn it just to be
able to run a script>

> If you do not want to use that, in the development thereof, I have
> searched the web, and found the following resources to be of use:
>
> http://docs.gimp.org/en/gimp-using-script-fu-tutorial.html
> http://www.ve3syb.ca/wiki/doku.php?id=software:sf:start
> http://mitpress.mit.edu/sicp/full-text/book/book.html
> http://tech.groups.yahoo.com/group/script-fu/

I looked, but found not any example in running things from bash.
I know the way my mind works might be at fault, but I am not very much
able to use books (or man pages) to learn things from.

If anything, the things above confused me more then showed me how to do
things.

The best way I learn things and especialy code is by copy and pasting
and then change one thing and see what happens. Reverse engineering one
might call it, others will notice how little kids learn that way as
well.

<snip>
> Another way of debugging your scripts is turning tracing on, by issuing 
> (tracing TRUE), so, for instance: 
>
> gimp -ic -b "(begin (tracing TRUE) (your code ... ) (gimp-quit RUN-NONINTERACTIVE))"
>
> and you can turn it off with (tracing FALSE).

OK. This becomes interesting.

<snip code>
> From bash: 
> gimp -i -b "(begin (border-fuzz \"foo.png\" '(0 0 0) 50 0 16 FALSE 1 FALSE) (gimp-quit RUN-NONINTERACTIVE))"
>
> Hope this is of use.

Very much so. I am now connected over ssh, so no GUI, but I will be
checking this out this weekend. This is the information as it should
have been presented on the docs.

I will give feedback later on how things went. With your permission, I
will put the information online as well. I willeven try to get it on
docs.gimp.org if you allow me.

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<slrngdpfv5.mr0.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 11:56:37 +0100


Giacomo Boffi wrote:
> houghi <houghi@houghi.org.invalid> writes:
>
>> <snip as I do not use emacs and do not intend to learn it just to be
>> able to run a script>
>
> in this case the purpose of using emacs is DEVELOPING a script - an
> alternative to using emacs is convicing someone else to do our work

I read the words, but I have no idea what you mean. First: what do you
mean by "developing a script". Also why would I want someone else to do
the work? I want to learn and understand it and be able not only to do
'fuzzy' but also be able to do all the other things that are available.

In other words I want to learn to use gimp from the command line.

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<slrngdqb0d.bev.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 19:38:05 +0100


Niels Giesen wrote:
<snip>
> From bash: 
> gimp -i -b "(begin (border-fuzz \"foo.png\" '(0 0 0) 50 0 16 FALSE 1 FALSE) (gimp-quit RUN-NONINTERACTIVE))"
>
> Hope this is of use.

Just to confirm: it works great. Thanks.

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<87d4irntyq.fld@apaflo.com>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 10:21:17 +0100


houghi <houghi@houghi.org.invalid> wrote:
>Floyd L. Davidson wrote:
>> houghi <houghi@houghi.org.invalid> wrote:
>>>I got as far as the following:
>>>gimp -i -d -b "(script-fu-fuzzy-border \"foo.png\" RUN-NONINTERACTIVE
>>>\'(100;100;100) 100 0 16 0 0 0 1)" -b '(gimp-quit 0)'
>>> batch command: executed successfully.
><snip>
>
>> You are using the batch mode to execute a scheme script
>> that operates on a previously loaded image.  The scheme
>> script was written be a menu option available for
>> interactive users, and does nothing to load such an
>> image.  Note that "foo.png" is not an image, it is a
>> *file*, and the "script-fu-fuzzy-border" function
>> requires an image for the first argument.  (I can't
>> relate argument list in the example command above to the
>> argument list required by script-fu-fuzzy-border.)
>
>So what you are saying is that it won't work. Bit strange, because other
>things that I do that way WILL work.

That simply *cannot* be true.  Your argument list has
nothing to do with the require arguments of the function
you are calling.  And there is no code in that function to
load an image from a file.

It *cannot* work.

>> To use the "script-fu-fuzzy-border" function in batch
>> mode you need to first execute the required gimp
>> functions to load an image by reading one from a file.
>
>OK and how do I do that?

You have to *read* the rest of the article you are
responding to one line at a time, multiple times if
necessary, until you *understand* the entire article.
Do that *before* asking stupid questions about each line
that are answered on the next line or in the next
paragraph.

>I think the sample script is lousy for learning. I have read it many
>times over the years and I have not learned anything.

What can anyone say?  Maybe this just isn't something
you are cut out to do.  I can't compose music, or even
play it, and if I asked questions like yours of a
composer I'd expect to be told to go do something like
programming...

Maybe you should compose music! :-)

Here's the script you need to batch process fuzzy borders.

; batchfuzzy.scm
;
; Apply script-fu-fuzzy-border as a batch process.
;
; Batchfuzzy is copyright 2008 by Floyd L. Davidson, floyd@apaflo.com.
; Script-fu-fuzzy-border is defined in fuzzyborder.scm, which is
; copyright by Chris Gutteridge, cjg@ecs.soton.ac.uk.
;
; This file should be placed in directory ~/.gimp-2.4/scripts with
; a filename that ends with ".scm".
;
; GIMP is then called from the command line to process all files
; that fit the specified pattern.  Command line syntax is:
;
;   gimp -i -c -d -b '(batch_fuzzy_border "pattern" "color" \
;                     border_size toggle_blur granularity   \
;                     toggle_shadow percent_shadow)' -b '(gimp-quit 0)'
;
;    "pattern"     : a regular expression pattern specifying files
;                     (example:  "*.jpg")
;
;    "color"       : color of the border
;                     (example:  "pink")
;
;    border_size   : border size in pixels
;                     (example:  20)
;
;    toggle_blur   : blur toggle, 1/0 or TRUE/FALSE
;                     (example:  TRUE)
;
;    granularity   : granularity, 1 or more where 1 is low
;                     (example:  4)
;
;    toggle_shadow : toggle shadow, 1/0 or TRUE/FALSE
;                     (example:  TRUE)
;
;    percent_shadow: percent of border that is shadowed
;                     (example:  75)
;
;  A typical example of a command line to invoke this program is:
;
;   gimp -i -c -d -b '(batch_fuzzy_border "*.jpg" "pink" 40 \
;        TRUE 10 TRUE 50 )' -b '(gimp-quit 0)'
;
;
;
; This program is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.

(define (batch_fuzzy_border  pattern
                             color
                             size
                             blurt
                             gran
                             shadowt
                             shadowp)

  (let* ((filelist (cadr (file-glob pattern 1))))
    (while (not (null? filelist))
           (let* ((filename (car filelist))
                     (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
                     (drawable (car (gimp-image-get-active-layer image))))
               (script-fu-fuzzy-border image drawable color size blurt gran shadowt shadowp FALSE TRUE)
               (set! drawable (car (gimp-image-get-active-layer image)))
               (gimp-file-save RUN-NONINTERACTIVE image drawable filename filename)
               (gimp-image-delete image))
    (set! filelist (cdr filelist)))))
;
; End of batchfuzzy.scm file.

-- 
Floyd L. Davidson <http://www.apaflo.com/floyd_davidson>
Ukpeagvik (Barrow, Alaska)              floyd@apaflo.com




Message-ID:<slrngdpfm5.mr0.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 11:51:49 +0100


Floyd L. Davidson wrote:
> That simply *cannot* be true.  Your argument list has
> nothing to do with the require arguments of the function
> you are calling.  And there is no code in that function to
> load an image from a file.
>
> It *cannot* work.

Then the 40.000+ wallpapers I have must not exist. Silly me. ;-)

>>OK and how do I do that?
>
> You have to *read* the rest of the article you are
> responding to one line at a time, multiple times if
> necessary, until you *understand* the entire article.
> Do that *before* asking stupid questions about each line
> that are answered on the next line or in the next
> paragraph.

That is not how to do it. I indeed do have a problem comprehanding many
things.

>>I think the sample script is lousy for learning. I have read it many
>>times over the years and I have not learned anything.
>
> What can anyone say?  Maybe this just isn't something
> you are cut out to do.  I can't compose music, or even
> play it, and if I asked questions like yours of a
> composer I'd expect to be told to go do something like
> programming...

Why? I think that is a rather eletist aproach and sounds as to blaming
the student for not learning instead of blaming the teacher for not
teaching.

> Maybe you should compose music! :-)

Nah, I stick to scripting. Some of the things I have done is used by
amny thousands of people. I doubt that many people would ever be willing
to listen to my musical skills. I know I don't.

> Here's the script you need to batch process fuzzy borders.
<snip>
> ;  A typical example of a command line to invoke this program is:
> ;
> ;   gimp -i -c -d -b '(batch_fuzzy_border "*.jpg" "pink" 40 \
> ;        TRUE 10 TRUE 50 )' -b '(gimp-quit 0)'
<snip>

Thanks, Great. I will try this out as well when I get home. Just one
question. Instead of "pink" I should be able to use something like
\'(100 100 100) right?

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<slrngdqgij.bev.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 21:13:07 +0100


Floyd L. Davidson wrote:
<snip>
> ;   gimp -i -c -d -b '(batch_fuzzy_border "*.jpg" "pink" 40 \
> ;        TRUE 10 TRUE 50 )' -b '(gimp-quit 0)'
<snip>

Just to confirm: works great. Together with the other posting I should
be able to make other things work as well.

Just to clarify: even though it is good to see how it is possible to use
*.jpg, I won' be using it that way. What I do is first calculate the
avareage color for an image and then I use that for the rest of the
script.

That means that even when I do a LOT of them in one run, each color and
thus the gimp command line will be different.

Anyway, thanks all. I can now concentrate on doing something like
http://www.photoshopessentials.com/photo-effects/photo-borders-displace/
and other neat effects for wallpapers.

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<20080923075800.366@usenet.piggo.com>
Subject:

Re: making a script


Date:Mon, 22 Sep 2008 23:00:12 +0100


* houghi wrote :
> -=MrX=- wrote:
>>
>> Hi
>>
>> I use Gimp just for 2 things.
>>
>> - resizing pictures to a standard format
>> - filters - decor - fuzzy border (each time same border)
>>
>> Can I make a script what does this for me ?
>
> Yes. Resizing is easier with ImageMagick.
<snip />
> And let me repeat myself again. Look at ImagaMagick That can do a LOT
> for you much easier and faster then using Gimp in scriting. Use the best
> tool at the best moment.

After you've resized for web with ImageMagick, do you sharpen?
I haven't used it for that yet.  Does it have smart-sharpen type
capabilities?

-- 
Troy Piggins | http://piggo.com/~troy                 _ __ (_) __ _  __ _  ___ 
                                                     | '_ \| |/ _` |/ _` |/ _ \
                                                     | .__/|_|\__, |\__, |\___/
                                                     |_|      |___/ |___/      




Message-ID:<48d7cad5$1_5@news4us.nl>
Subject:

making a script


Date:Mon, 22 Sep 2008 17:41:57 +0100


Hi

I use Gimp just for 2 things.

- resizing pictures to a standard format
- filters - decor - fuzzy border (each time same border)

Can I make a script what does this for me ?

tia Paulx




Message-ID:<slrngdfs1e.a47.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Mon, 22 Sep 2008 20:21:18 +0100


-=MrX=- wrote:
>
>
> Hi
>
> I use Gimp just for 2 things.
>
> - resizing pictures to a standard format
> - filters - decor - fuzzy border (each time same border)
>
> Can I make a script what does this for me ?

Yes. Resizing is easier with ImageMagick.
I use some scripting with the making of wallpapers.
http://houghi.org/script/00_personal_scripts/wallpaper_maker does the
following. It takes an image, makes it the right height, puts a fuzzy
border around it and then puts a deeper nrder around that.

It also takes the name and puts it on it.

A sample of how it will look
http://houghi.org/shots/slides/wppbr_scp_004_celebrities_elisha_cuthbert_02.php

Now I don't expect people to be able to read the script, let alone
understand it. I have not looked at it for a few years, so I probably
would do it a bit different now.

So again, use something else for the resize. Imagemagick is much easier
and proably faster as well. Even the extra border I do with ImageMagick.

I use fuzzy.pl Apparently the old maintainer does not have it on its
website anymore so I just put it up.

http://houghi.org/script/fuzzy.pl

Go to "call the fuzzy border script with parameters" where you can
change the parameters.

For a different effect like http://houghi.org/shots/slides/Jessica6.php
I use http://houghi.org/script/00_personal_scripts/wpm_photo

Instead of the perl script, I directly use the GIMP batch mode.

To make the 'photo' I need 3 parameters. The filename, the name of the
image and the number of the photo.

Simpel example:

#!/bin/bash
FILE=$1
NAME="Fuji Color"
NUM=27
gimp --batch-interpreter plug-in-script-fu-eval -i -b '(batch-slide "'$FILE'" "'"$NAME"'" "'"$NUM"'")' -b '(gimp-quit 0)'

The shadow effect is even easier. By this time the filename os temp.png

gimp --batch-interpreter plug-in-script-fu-eval -i -b '(batch-drop-shadow "temp.png")' -b '(gimp-quit 0)'

So basicaly it is build up as follows
# first the part to call the script
gimp --batch-interpreter plug-in-script-fu-eval -i -b '(
# Next the name with batch in front of it, together with the parameters
# you can edit
batch-drop-shadow "temp.png"
#Then the closing and ending of the batch call
)' -b '(gimp-quit 0)'

And let me repeat myself again. Look at ImagaMagick That can do a LOT
for you much easier and faster then using Gimp in scriting. Use the best
tool at the best moment.

houghi
-- 
Let's not be too tough on our own ignorance. It's the thing that makes
America great. If America weren't incomparably ignorant, how could we 
have tolerated the last eight years? 	-- Frank Zappa, in 1988




Message-ID:<slrngdg38a.a47.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Mon, 22 Sep 2008 22:24:26 +0100


houghi wrote:
> http://houghi.org/script/fuzzy.pl

This does not seem to work anymore on my openSUSE 11.0. So I was trying
to put it in just like I did with the other things, but I get a lot of
errors.

I do:
gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
'(script-fuzzy-border file.jpg)' -b '(gimp-quit 0)'

All on one line. That gives me (almosy obviously) the error "batch
command: experienced an execution error." because I have not added the
correct parameters.

I have looked at http://www.lemur.com/dmm/culch/scriptsfu/index.html
I have looked in Xtns, Script Fu,. Script Fu Console
I have looked in 

I have gone as far as
gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
'(script-fuzzy-border heidi_hanson_20080921_0155.jpg 0 \'(255 255 255)
\'(16 1 200 1 10 0 1) TRUE \'(4 1 16 0.25 5 2 0) FALSE \'(100 0 100 1 10
0 0) TRUE TRUE )' -b "(gimp-quit 0)"
bash: syntax error near unexpected token `('

And then I started looking for the other things and some gave errors as
well:
houghi@pasta : gimp --batch-interpreter plug-in-script-fu-eval -i -b
'(batch-drop-shadow "heidi_hanson_20080921_0155.jpg")' -b '(gimp-quit
0)'
batch command: experienced an execution error.

Things that worked before stopped working (again)

This sucks heavily. For now each version of GIMP I had to re-invent the
wheel all over again. :-(

houghi
-- 
This was written under the influence of the following:
|  Artist : Midnight Oil
|    Song : The Dead Heart
|   Album : Diesel and Dust




Message-ID:<48d9025d$1_1@news4us.nl>
Subject:

Re: making a script


Date:Tue, 23 Sep 2008 15:51:10 +0100


houghi wrote:
> houghi wrote:
>> http://houghi.org/script/fuzzy.pl
> 
> This does not seem to work anymore on my openSUSE 11.0. So I was trying
> to put it in just like I did with the other things, but I get a lot of
> errors.
> 
> I do:
> gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
> '(script-fuzzy-border file.jpg)' -b '(gimp-quit 0)'
> 
> All on one line. That gives me (almosy obviously) the error "batch
> command: experienced an execution error." because I have not added the
> correct parameters.
> 
> I have looked at http://www.lemur.com/dmm/culch/scriptsfu/index.html
> I have looked in Xtns, Script Fu,. Script Fu Console
> I have looked in 
> 
> I have gone as far as
> gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
> '(script-fuzzy-border heidi_hanson_20080921_0155.jpg 0 \'(255 255 255)
> \'(16 1 200 1 10 0 1) TRUE \'(4 1 16 0.25 5 2 0) FALSE \'(100 0 100 1 10
> 0 0) TRUE TRUE )' -b "(gimp-quit 0)"
> bash: syntax error near unexpected token `('
> 
> And then I started looking for the other things and some gave errors as
> well:
> houghi@pasta : gimp --batch-interpreter plug-in-script-fu-eval -i -b
> '(batch-drop-shadow "heidi_hanson_20080921_0155.jpg")' -b '(gimp-quit
> 0)'
> batch command: experienced an execution error.
> 
> Things that worked before stopped working (again)
> 
> This sucks heavily. For now each version of GIMP I had to re-invent the
> wheel all over again. :-(
> 
> houghi

I sometimes use ImageMagick for screenshots, with EOG, but I like to 
work with a graphic interface :(

Thnx for your answer




Message-ID:<slrngdi1gp.92m.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Tue, 23 Sep 2008 16:07:05 +0100


-=MrX=- wrote:
> I sometimes use ImageMagick for screenshots, with EOG, but I like to 
> work with a graphic interface :(

I use scripting to process several hundred of images. No way that I am
able to do that one by one by hand.

houghi
-- 
All opinions are not equal. Some are a very great deal more robust,
sophisticated and well supported in logic and argument than others.




Message-ID:<slrngdik3f.l7i.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Tue, 23 Sep 2008 21:24:15 +0100


houghi wrote:
> I have gone as far as
> gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
> '(script-fuzzy-border heidi_hanson_20080921_0155.jpg 0 \'(255 255 255)
> \'(16 1 200 1 10 0 1) TRUE \'(4 1 16 0.25 5 2 0) FALSE \'(100 0 100 1 10
> 0 0) TRUE TRUE )' -b "(gimp-quit 0)"
> bash: syntax error near unexpected token `('
>
> And then I started looking for the other things and some gave errors as
> well:
> houghi@pasta : gimp --batch-interpreter plug-in-script-fu-eval -i -b
> '(batch-drop-shadow "heidi_hanson_20080921_0155.jpg")' -b '(gimp-quit
> 0)'
> batch command: experienced an execution error.

I have now tried so many things with still the same non-result. Anybody
who can help us out? I have now wasted several hours on this and I am
getting nowhere. :-(

houghi
-- 
First we thought the PC was a calculator. Then we found out how to turn
numbers into letters with ASCII and we thought it was a typewriter. Then
we discovered graphics, and we thought it was television. With the World
Wide Web, we've realized it's a brochure. -- Douglas Adams.




Message-ID:<48da489f$1_5@news4us.nl>
Subject:

Re: making a script


Date:Wed, 24 Sep 2008 15:03:14 +0100


houghi wrote:
> houghi wrote:
>> I have gone as far as
>> gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
>> '(script-fuzzy-border heidi_hanson_20080921_0155.jpg 0 \'(255 255 255)
>> \'(16 1 200 1 10 0 1) TRUE \'(4 1 16 0.25 5 2 0) FALSE \'(100 0 100 1 10
>> 0 0) TRUE TRUE )' -b "(gimp-quit 0)"
>> bash: syntax error near unexpected token `('
>>
>> And then I started looking for the other things and some gave errors as
>> well:
>> houghi@pasta : gimp --batch-interpreter plug-in-script-fu-eval -i -b
>> '(batch-drop-shadow "heidi_hanson_20080921_0155.jpg")' -b '(gimp-quit
>> 0)'
>> batch command: experienced an execution error.
> 
> I have now tried so many things with still the same non-result. Anybody
> who can help us out? I have now wasted several hours on this and I am
> getting nowhere. :-(
> 
> houghi

So if I understand you well, ImageMagick is not the solution ?




Message-ID:<871vz8pen2.fld@apaflo.com>
Subject:

Re: making a script


Date:Thu, 25 Sep 2008 13:57:05 +0100


houghi <houghi@houghi.org.invalid> wrote:
>In this I am using 'fuzzy-borders' as an example, not as a goal in
>itself. That is why I started a new thread.
>
>I got as far as the following:
>gimp -i -d -b "(script-fu-fuzzy-border \"foo.png\" RUN-NONINTERACTIVE
>\'(100;100;100) 100 0 16 0 0 0 1)" -b '(gimp-quit 0)'
> batch command: executed successfully.
>
>However it does not seem to pick up the image. In fact wether the image
>exists or not is irrelevant of the outcome.

I have used gimp's batch processing only slightly, so
I'm no expert on this.  But there is at least one
obvious problem, which quite general in scope too.

You are using the batch mode to execute a scheme script
that operates on a previously loaded image.  The scheme
script was written be a menu option available for
interactive users, and does nothing to load such an
image.  Note that "foo.png" is not an image, it is a
*file*, and the "script-fu-fuzzy-border" function
requires an image for the first argument.  (I can't
relate argument list in the example command above to the
argument list required by script-fu-fuzzy-border.)

To use the "script-fu-fuzzy-border" function in batch
mode you need to first execute the required gimp
functions to load an image by reading one from a file.

That could be done with prior -b options specifying one
or more gimp functions that would accomplish whatever is
required to have gimp in a state that allows
'script-fu-fuzzy-border' to work.  Or, the most likely
way to accomplish that is to write a separate script
that calls all of the functions in order, and use that
in the command line with the -b option rather than
having -b options for each function needed.

That is generally true of *every* function available via
the batch processing.  It is either a script written to
be executed as a batch, or it needs one to be used.

If I remember right there was mention in this thread
previously of the best example available on the the WEB
for how to do that, which is the one that does Unsharp
Mask.

In addition, the two Unsharp Mask example scripts for
use in batch mode have another characteristic that needs
to be addressed as part of the learning curve for
writing batch mode scripts.  The simple one is just
that, too simple!

It loads one file, applies USM, and writes the file back
to disk.  Two problems...  you just lost your original
file, and if the applied USM is not exactly correct, you
had better have backup!  That of course can be handled
manually outside of the gimp script, but you do need to
know about it and avoid working on unique image files that
are not backed up.

The second problem is that the script does only one
file, and that means gimp must be loaded for every file
the script is executed on, which makes it horribly slow
for any number of files larger than a handful.  Usually
a large number of files is the exact reason a script is
written, so that is an important deficit.

What it means in simple terms is that the "simple"
script is good for learning, but it is not of much value
for production.  The second variation, which will
operate on multiple files as specified on the command
line, is the one use as a starting point to build your
own batch scripts.

-- 
Floyd L. Davidson <http://www.apaflo.com/floyd_davidson>
Ukpeagvik (Barrow, Alaska)              floyd@apaflo.com




Message-ID:<slrngdo6sv.958.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 00:15:43 +0100


houghi wrote:
>> To use the "script-fu-fuzzy-border" function in batch
>> mode you need to first execute the required gimp
>> functions to load an image by reading one from a file.
>
> OK and how do I do that?

OK, I am again loosing several hours over this. I start with
http://www.gimp.org/tutorials/Basic_Batch/ and that works.

What I see there is absolutely no serious attempt to explain anything.
It is more a 'How to drive a car? You step in and drive away.' type of
thing. Pity to see that sch a thing where the GIMP could beat anything
is so neglected. :-( Anywah ..

I see two places where things are defined. The first is the define of
simple-unsharp-mask. The second is the plug-in-unsharp-mask.

Let me look at the first thing. There I see respectivaly filename,
radius, amount and threshold. Those are used as well in the commandline
with "foo.png" 5.0 0.5 0.

However when I look in Xtns, I see much more parameters. With a lot of
trial and error I was able to make a sharpen script that worked.

So I then try to re-write it for the fuzzy border and get to the
following:
(define (border-fuzz filename
                color
                value
                toggle
                value
                toggle
                value
                toggle
                toggle
                )
(let* ((image (car (gimp-file-load RUN-NONINTERACTIVE filename
filename)))
(drawable (car (gimp-image-get-active-layer image)))) 
(script-fu-fuzzy-border RUN-NONINTERACTIVE
                           image drawable 
		color
                value
                toggle
                value
                toggle
                value
                toggle
                toggle  
                )
(set! drawable (car (gimp-image-get-active-layer image)))
(gimp-file-save RUN-NONINTERACTIVE image drawable filename filename)
(gimp-image-delete image)))

As command I give the following on one line:
gimp -i -b '(border-fuzz "foo.png" (0;0;0) 50 0 50 0 0 0 0)' -b
'(gimp-quit 0)'

It tells me it is successfull and nothing happens. I have no idea where
I am going wrong as there is no documentation available. I also doubt
that I am the only person in the world wjo wants to use gimp in a script
mode. So please can somebody show me what it must be instead of what I
have. No explanation, just the raw code. I can then try to fugure out
myself what I am doing wrong and apply it to other things.

I will then probably even write it all down for others to use.

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<slrngdpcua.mr0.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 11:04:58 +0100


Niels Giesen wrote:
> Sorry, not giving the raw code, but code interspersed with comments. 

Great. Code would probably have been enough, but comments are nice to
have as well.

<snip as I do not use emacs and do not intend to learn it just to be
able to run a script>

> If you do not want to use that, in the development thereof, I have
> searched the web, and found the following resources to be of use:
>
> http://docs.gimp.org/en/gimp-using-script-fu-tutorial.html
> http://www.ve3syb.ca/wiki/doku.php?id=software:sf:start
> http://mitpress.mit.edu/sicp/full-text/book/book.html
> http://tech.groups.yahoo.com/group/script-fu/

I looked, but found not any example in running things from bash.
I know the way my mind works might be at fault, but I am not very much
able to use books (or man pages) to learn things from.

If anything, the things above confused me more then showed me how to do
things.

The best way I learn things and especialy code is by copy and pasting
and then change one thing and see what happens. Reverse engineering one
might call it, others will notice how little kids learn that way as
well.

<snip>
> Another way of debugging your scripts is turning tracing on, by issuing 
> (tracing TRUE), so, for instance: 
>
> gimp -ic -b "(begin (tracing TRUE) (your code ... ) (gimp-quit RUN-NONINTERACTIVE))"
>
> and you can turn it off with (tracing FALSE).

OK. This becomes interesting.

<snip code>
> From bash: 
> gimp -i -b "(begin (border-fuzz \"foo.png\" '(0 0 0) 50 0 16 FALSE 1 FALSE) (gimp-quit RUN-NONINTERACTIVE))"
>
> Hope this is of use.

Very much so. I am now connected over ssh, so no GUI, but I will be
checking this out this weekend. This is the information as it should
have been presented on the docs.

I will give feedback later on how things went. With your permission, I
will put the information online as well. I willeven try to get it on
docs.gimp.org if you allow me.

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<slrngdpfv5.mr0.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 11:56:37 +0100


Giacomo Boffi wrote:
> houghi <houghi@houghi.org.invalid> writes:
>
>> <snip as I do not use emacs and do not intend to learn it just to be
>> able to run a script>
>
> in this case the purpose of using emacs is DEVELOPING a script - an
> alternative to using emacs is convicing someone else to do our work

I read the words, but I have no idea what you mean. First: what do you
mean by "developing a script". Also why would I want someone else to do
the work? I want to learn and understand it and be able not only to do
'fuzzy' but also be able to do all the other things that are available.

In other words I want to learn to use gimp from the command line.

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<slrngdqb0d.bev.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 19:38:05 +0100


Niels Giesen wrote:
<snip>
> From bash: 
> gimp -i -b "(begin (border-fuzz \"foo.png\" '(0 0 0) 50 0 16 FALSE 1 FALSE) (gimp-quit RUN-NONINTERACTIVE))"
>
> Hope this is of use.

Just to confirm: it works great. Thanks.

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<87d4irntyq.fld@apaflo.com>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 10:21:17 +0100


houghi <houghi@houghi.org.invalid> wrote:
>Floyd L. Davidson wrote:
>> houghi <houghi@houghi.org.invalid> wrote:
>>>I got as far as the following:
>>>gimp -i -d -b "(script-fu-fuzzy-border \"foo.png\" RUN-NONINTERACTIVE
>>>\'(100;100;100) 100 0 16 0 0 0 1)" -b '(gimp-quit 0)'
>>> batch command: executed successfully.
><snip>
>
>> You are using the batch mode to execute a scheme script
>> that operates on a previously loaded image.  The scheme
>> script was written be a menu option available for
>> interactive users, and does nothing to load such an
>> image.  Note that "foo.png" is not an image, it is a
>> *file*, and the "script-fu-fuzzy-border" function
>> requires an image for the first argument.  (I can't
>> relate argument list in the example command above to the
>> argument list required by script-fu-fuzzy-border.)
>
>So what you are saying is that it won't work. Bit strange, because other
>things that I do that way WILL work.

That simply *cannot* be true.  Your argument list has
nothing to do with the require arguments of the function
you are calling.  And there is no code in that function to
load an image from a file.

It *cannot* work.

>> To use the "script-fu-fuzzy-border" function in batch
>> mode you need to first execute the required gimp
>> functions to load an image by reading one from a file.
>
>OK and how do I do that?

You have to *read* the rest of the article you are
responding to one line at a time, multiple times if
necessary, until you *understand* the entire article.
Do that *before* asking stupid questions about each line
that are answered on the next line or in the next
paragraph.

>I think the sample script is lousy for learning. I have read it many
>times over the years and I have not learned anything.

What can anyone say?  Maybe this just isn't something
you are cut out to do.  I can't compose music, or even
play it, and if I asked questions like yours of a
composer I'd expect to be told to go do something like
programming...

Maybe you should compose music! :-)

Here's the script you need to batch process fuzzy borders.

; batchfuzzy.scm
;
; Apply script-fu-fuzzy-border as a batch process.
;
; Batchfuzzy is copyright 2008 by Floyd L. Davidson, floyd@apaflo.com.
; Script-fu-fuzzy-border is defined in fuzzyborder.scm, which is
; copyright by Chris Gutteridge, cjg@ecs.soton.ac.uk.
;
; This file should be placed in directory ~/.gimp-2.4/scripts with
; a filename that ends with ".scm".
;
; GIMP is then called from the command line to process all files
; that fit the specified pattern.  Command line syntax is:
;
;   gimp -i -c -d -b '(batch_fuzzy_border "pattern" "color" \
;                     border_size toggle_blur granularity   \
;                     toggle_shadow percent_shadow)' -b '(gimp-quit 0)'
;
;    "pattern"     : a regular expression pattern specifying files
;                     (example:  "*.jpg")
;
;    "color"       : color of the border
;                     (example:  "pink")
;
;    border_size   : border size in pixels
;                     (example:  20)
;
;    toggle_blur   : blur toggle, 1/0 or TRUE/FALSE
;                     (example:  TRUE)
;
;    granularity   : granularity, 1 or more where 1 is low
;                     (example:  4)
;
;    toggle_shadow : toggle shadow, 1/0 or TRUE/FALSE
;                     (example:  TRUE)
;
;    percent_shadow: percent of border that is shadowed
;                     (example:  75)
;
;  A typical example of a command line to invoke this program is:
;
;   gimp -i -c -d -b '(batch_fuzzy_border "*.jpg" "pink" 40 \
;        TRUE 10 TRUE 50 )' -b '(gimp-quit 0)'
;
;
;
; This program is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.

(define (batch_fuzzy_border  pattern
                             color
                             size
                             blurt
                             gran
                             shadowt
                             shadowp)

  (let* ((filelist (cadr (file-glob pattern 1))))
    (while (not (null? filelist))
           (let* ((filename (car filelist))
                     (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
                     (drawable (car (gimp-image-get-active-layer image))))
               (script-fu-fuzzy-border image drawable color size blurt gran shadowt shadowp FALSE TRUE)
               (set! drawable (car (gimp-image-get-active-layer image)))
               (gimp-file-save RUN-NONINTERACTIVE image drawable filename filename)
               (gimp-image-delete image))
    (set! filelist (cdr filelist)))))
;
; End of batchfuzzy.scm file.

-- 
Floyd L. Davidson <http://www.apaflo.com/floyd_davidson>
Ukpeagvik (Barrow, Alaska)              floyd@apaflo.com




Message-ID:<slrngdpfm5.mr0.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 11:51:49 +0100


Floyd L. Davidson wrote:
> That simply *cannot* be true.  Your argument list has
> nothing to do with the require arguments of the function
> you are calling.  And there is no code in that function to
> load an image from a file.
>
> It *cannot* work.

Then the 40.000+ wallpapers I have must not exist. Silly me. ;-)

>>OK and how do I do that?
>
> You have to *read* the rest of the article you are
> responding to one line at a time, multiple times if
> necessary, until you *understand* the entire article.
> Do that *before* asking stupid questions about each line
> that are answered on the next line or in the next
> paragraph.

That is not how to do it. I indeed do have a problem comprehanding many
things.

>>I think the sample script is lousy for learning. I have read it many
>>times over the years and I have not learned anything.
>
> What can anyone say?  Maybe this just isn't something
> you are cut out to do.  I can't compose music, or even
> play it, and if I asked questions like yours of a
> composer I'd expect to be told to go do something like
> programming...

Why? I think that is a rather eletist aproach and sounds as to blaming
the student for not learning instead of blaming the teacher for not
teaching.

> Maybe you should compose music! :-)

Nah, I stick to scripting. Some of the things I have done is used by
amny thousands of people. I doubt that many people would ever be willing
to listen to my musical skills. I know I don't.

> Here's the script you need to batch process fuzzy borders.
<snip>
> ;  A typical example of a command line to invoke this program is:
> ;
> ;   gimp -i -c -d -b '(batch_fuzzy_border "*.jpg" "pink" 40 \
> ;        TRUE 10 TRUE 50 )' -b '(gimp-quit 0)'
<snip>

Thanks, Great. I will try this out as well when I get home. Just one
question. Instead of "pink" I should be able to use something like
\'(100 100 100) right?

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<slrngdqgij.bev.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 21:13:07 +0100


Floyd L. Davidson wrote:
<snip>
> ;   gimp -i -c -d -b '(batch_fuzzy_border "*.jpg" "pink" 40 \
> ;        TRUE 10 TRUE 50 )' -b '(gimp-quit 0)'
<snip>

Just to confirm: works great. Together with the other posting I should
be able to make other things work as well.

Just to clarify: even though it is good to see how it is possible to use
*.jpg, I won' be using it that way. What I do is first calculate the
avareage color for an image and then I use that for the rest of the
script.

That means that even when I do a LOT of them in one run, each color and
thus the gimp command line will be different.

Anyway, thanks all. I can now concentrate on doing something like
http://www.photoshopessentials.com/photo-effects/photo-borders-displace/
and other neat effects for wallpapers.

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<20080923075800.366@usenet.piggo.com>
Subject:

Re: making a script


Date:Mon, 22 Sep 2008 23:00:12 +0100


* houghi wrote :
> -=MrX=- wrote:
>>
>> Hi
>>
>> I use Gimp just for 2 things.
>>
>> - resizing pictures to a standard format
>> - filters - decor - fuzzy border (each time same border)
>>
>> Can I make a script what does this for me ?
>
> Yes. Resizing is easier with ImageMagick.
<snip />
> And let me repeat myself again. Look at ImagaMagick That can do a LOT
> for you much easier and faster then using Gimp in scriting. Use the best
> tool at the best moment.

After you've resized for web with ImageMagick, do you sharpen?
I haven't used it for that yet.  Does it have smart-sharpen type
capabilities?

-- 
Troy Piggins | http://piggo.com/~troy                 _ __ (_) __ _  __ _  ___ 
                                                     | '_ \| |/ _` |/ _` |/ _ \
                                                     | .__/|_|\__, |\__, |\___/
                                                     |_|      |___/ |___/      




Message-ID:<48d7cad5$1_5@news4us.nl>
Subject:

making a script


Date:Mon, 22 Sep 2008 17:41:57 +0100


Hi

I use Gimp just for 2 things.

- resizing pictures to a standard format
- filters - decor - fuzzy border (each time same border)

Can I make a script what does this for me ?

tia Paulx




Message-ID:<slrngdfs1e.a47.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Mon, 22 Sep 2008 20:21:18 +0100


-=MrX=- wrote:
>
>
> Hi
>
> I use Gimp just for 2 things.
>
> - resizing pictures to a standard format
> - filters - decor - fuzzy border (each time same border)
>
> Can I make a script what does this for me ?

Yes. Resizing is easier with ImageMagick.
I use some scripting with the making of wallpapers.
http://houghi.org/script/00_personal_scripts/wallpaper_maker does the
following. It takes an image, makes it the right height, puts a fuzzy
border around it and then puts a deeper nrder around that.

It also takes the name and puts it on it.

A sample of how it will look
http://houghi.org/shots/slides/wppbr_scp_004_celebrities_elisha_cuthbert_02.php

Now I don't expect people to be able to read the script, let alone
understand it. I have not looked at it for a few years, so I probably
would do it a bit different now.

So again, use something else for the resize. Imagemagick is much easier
and proably faster as well. Even the extra border I do with ImageMagick.

I use fuzzy.pl Apparently the old maintainer does not have it on its
website anymore so I just put it up.

http://houghi.org/script/fuzzy.pl

Go to "call the fuzzy border script with parameters" where you can
change the parameters.

For a different effect like http://houghi.org/shots/slides/Jessica6.php
I use http://houghi.org/script/00_personal_scripts/wpm_photo

Instead of the perl script, I directly use the GIMP batch mode.

To make the 'photo' I need 3 parameters. The filename, the name of the
image and the number of the photo.

Simpel example:

#!/bin/bash
FILE=$1
NAME="Fuji Color"
NUM=27
gimp --batch-interpreter plug-in-script-fu-eval -i -b '(batch-slide "'$FILE'" "'"$NAME"'" "'"$NUM"'")' -b '(gimp-quit 0)'

The shadow effect is even easier. By this time the filename os temp.png

gimp --batch-interpreter plug-in-script-fu-eval -i -b '(batch-drop-shadow "temp.png")' -b '(gimp-quit 0)'

So basicaly it is build up as follows
# first the part to call the script
gimp --batch-interpreter plug-in-script-fu-eval -i -b '(
# Next the name with batch in front of it, together with the parameters
# you can edit
batch-drop-shadow "temp.png"
#Then the closing and ending of the batch call
)' -b '(gimp-quit 0)'

And let me repeat myself again. Look at ImagaMagick That can do a LOT
for you much easier and faster then using Gimp in scriting. Use the best
tool at the best moment.

houghi
-- 
Let's not be too tough on our own ignorance. It's the thing that makes
America great. If America weren't incomparably ignorant, how could we 
have tolerated the last eight years? 	-- Frank Zappa, in 1988




Message-ID:<slrngdg38a.a47.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Mon, 22 Sep 2008 22:24:26 +0100


houghi wrote:
> http://houghi.org/script/fuzzy.pl

This does not seem to work anymore on my openSUSE 11.0. So I was trying
to put it in just like I did with the other things, but I get a lot of
errors.

I do:
gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
'(script-fuzzy-border file.jpg)' -b '(gimp-quit 0)'

All on one line. That gives me (almosy obviously) the error "batch
command: experienced an execution error." because I have not added the
correct parameters.

I have looked at http://www.lemur.com/dmm/culch/scriptsfu/index.html
I have looked in Xtns, Script Fu,. Script Fu Console
I have looked in 

I have gone as far as
gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
'(script-fuzzy-border heidi_hanson_20080921_0155.jpg 0 \'(255 255 255)
\'(16 1 200 1 10 0 1) TRUE \'(4 1 16 0.25 5 2 0) FALSE \'(100 0 100 1 10
0 0) TRUE TRUE )' -b "(gimp-quit 0)"
bash: syntax error near unexpected token `('

And then I started looking for the other things and some gave errors as
well:
houghi@pasta : gimp --batch-interpreter plug-in-script-fu-eval -i -b
'(batch-drop-shadow "heidi_hanson_20080921_0155.jpg")' -b '(gimp-quit
0)'
batch command: experienced an execution error.

Things that worked before stopped working (again)

This sucks heavily. For now each version of GIMP I had to re-invent the
wheel all over again. :-(

houghi
-- 
This was written under the influence of the following:
|  Artist : Midnight Oil
|    Song : The Dead Heart
|   Album : Diesel and Dust




Message-ID:<48d9025d$1_1@news4us.nl>
Subject:

Re: making a script


Date:Tue, 23 Sep 2008 15:51:10 +0100


houghi wrote:
> houghi wrote:
>> http://houghi.org/script/fuzzy.pl
> 
> This does not seem to work anymore on my openSUSE 11.0. So I was trying
> to put it in just like I did with the other things, but I get a lot of
> errors.
> 
> I do:
> gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
> '(script-fuzzy-border file.jpg)' -b '(gimp-quit 0)'
> 
> All on one line. That gives me (almosy obviously) the error "batch
> command: experienced an execution error." because I have not added the
> correct parameters.
> 
> I have looked at http://www.lemur.com/dmm/culch/scriptsfu/index.html
> I have looked in Xtns, Script Fu,. Script Fu Console
> I have looked in 
> 
> I have gone as far as
> gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
> '(script-fuzzy-border heidi_hanson_20080921_0155.jpg 0 \'(255 255 255)
> \'(16 1 200 1 10 0 1) TRUE \'(4 1 16 0.25 5 2 0) FALSE \'(100 0 100 1 10
> 0 0) TRUE TRUE )' -b "(gimp-quit 0)"
> bash: syntax error near unexpected token `('
> 
> And then I started looking for the other things and some gave errors as
> well:
> houghi@pasta : gimp --batch-interpreter plug-in-script-fu-eval -i -b
> '(batch-drop-shadow "heidi_hanson_20080921_0155.jpg")' -b '(gimp-quit
> 0)'
> batch command: experienced an execution error.
> 
> Things that worked before stopped working (again)
> 
> This sucks heavily. For now each version of GIMP I had to re-invent the
> wheel all over again. :-(
> 
> houghi

I sometimes use ImageMagick for screenshots, with EOG, but I like to 
work with a graphic interface :(

Thnx for your answer




Message-ID:<slrngdi1gp.92m.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Tue, 23 Sep 2008 16:07:05 +0100


-=MrX=- wrote:
> I sometimes use ImageMagick for screenshots, with EOG, but I like to 
> work with a graphic interface :(

I use scripting to process several hundred of images. No way that I am
able to do that one by one by hand.

houghi
-- 
All opinions are not equal. Some are a very great deal more robust,
sophisticated and well supported in logic and argument than others.




Message-ID:<slrngdik3f.l7i.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Tue, 23 Sep 2008 21:24:15 +0100


houghi wrote:
> I have gone as far as
> gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
> '(script-fuzzy-border heidi_hanson_20080921_0155.jpg 0 \'(255 255 255)
> \'(16 1 200 1 10 0 1) TRUE \'(4 1 16 0.25 5 2 0) FALSE \'(100 0 100 1 10
> 0 0) TRUE TRUE )' -b "(gimp-quit 0)"
> bash: syntax error near unexpected token `('
>
> And then I started looking for the other things and some gave errors as
> well:
> houghi@pasta : gimp --batch-interpreter plug-in-script-fu-eval -i -b
> '(batch-drop-shadow "heidi_hanson_20080921_0155.jpg")' -b '(gimp-quit
> 0)'
> batch command: experienced an execution error.

I have now tried so many things with still the same non-result. Anybody
who can help us out? I have now wasted several hours on this and I am
getting nowhere. :-(

houghi
-- 
First we thought the PC was a calculator. Then we found out how to turn
numbers into letters with ASCII and we thought it was a typewriter. Then
we discovered graphics, and we thought it was television. With the World
Wide Web, we've realized it's a brochure. -- Douglas Adams.




Message-ID:<48da489f$1_5@news4us.nl>
Subject:

Re: making a script


Date:Wed, 24 Sep 2008 15:03:14 +0100


houghi wrote:
> houghi wrote:
>> I have gone as far as
>> gimp --batch-interpreter plug-in-script-fu-eval -i -d -b
>> '(script-fuzzy-border heidi_hanson_20080921_0155.jpg 0 \'(255 255 255)
>> \'(16 1 200 1 10 0 1) TRUE \'(4 1 16 0.25 5 2 0) FALSE \'(100 0 100 1 10
>> 0 0) TRUE TRUE )' -b "(gimp-quit 0)"
>> bash: syntax error near unexpected token `('
>>
>> And then I started looking for the other things and some gave errors as
>> well:
>> houghi@pasta : gimp --batch-interpreter plug-in-script-fu-eval -i -b
>> '(batch-drop-shadow "heidi_hanson_20080921_0155.jpg")' -b '(gimp-quit
>> 0)'
>> batch command: experienced an execution error.
> 
> I have now tried so many things with still the same non-result. Anybody
> who can help us out? I have now wasted several hours on this and I am
> getting nowhere. :-(
> 
> houghi

So if I understand you well, ImageMagick is not the solution ?




Message-ID:<871vz8pen2.fld@apaflo.com>
Subject:

Re: making a script


Date:Thu, 25 Sep 2008 13:57:05 +0100


houghi <houghi@houghi.org.invalid> wrote:
>In this I am using 'fuzzy-borders' as an example, not as a goal in
>itself. That is why I started a new thread.
>
>I got as far as the following:
>gimp -i -d -b "(script-fu-fuzzy-border \"foo.png\" RUN-NONINTERACTIVE
>\'(100;100;100) 100 0 16 0 0 0 1)" -b '(gimp-quit 0)'
> batch command: executed successfully.
>
>However it does not seem to pick up the image. In fact wether the image
>exists or not is irrelevant of the outcome.

I have used gimp's batch processing only slightly, so
I'm no expert on this.  But there is at least one
obvious problem, which quite general in scope too.

You are using the batch mode to execute a scheme script
that operates on a previously loaded image.  The scheme
script was written be a menu option available for
interactive users, and does nothing to load such an
image.  Note that "foo.png" is not an image, it is a
*file*, and the "script-fu-fuzzy-border" function
requires an image for the first argument.  (I can't
relate argument list in the example command above to the
argument list required by script-fu-fuzzy-border.)

To use the "script-fu-fuzzy-border" function in batch
mode you need to first execute the required gimp
functions to load an image by reading one from a file.

That could be done with prior -b options specifying one
or more gimp functions that would accomplish whatever is
required to have gimp in a state that allows
'script-fu-fuzzy-border' to work.  Or, the most likely
way to accomplish that is to write a separate script
that calls all of the functions in order, and use that
in the command line with the -b option rather than
having -b options for each function needed.

That is generally true of *every* function available via
the batch processing.  It is either a script written to
be executed as a batch, or it needs one to be used.

If I remember right there was mention in this thread
previously of the best example available on the the WEB
for how to do that, which is the one that does Unsharp
Mask.

In addition, the two Unsharp Mask example scripts for
use in batch mode have another characteristic that needs
to be addressed as part of the learning curve for
writing batch mode scripts.  The simple one is just
that, too simple!

It loads one file, applies USM, and writes the file back
to disk.  Two problems...  you just lost your original
file, and if the applied USM is not exactly correct, you
had better have backup!  That of course can be handled
manually outside of the gimp script, but you do need to
know about it and avoid working on unique image files that
are not backed up.

The second problem is that the script does only one
file, and that means gimp must be loaded for every file
the script is executed on, which makes it horribly slow
for any number of files larger than a handful.  Usually
a large number of files is the exact reason a script is
written, so that is an important deficit.

What it means in simple terms is that the "simple"
script is good for learning, but it is not of much value
for production.  The second variation, which will
operate on multiple files as specified on the command
line, is the one use as a starting point to build your
own batch scripts.

-- 
Floyd L. Davidson <http://www.apaflo.com/floyd_davidson>
Ukpeagvik (Barrow, Alaska)              floyd@apaflo.com




Message-ID:<slrngdo6sv.958.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 00:15:43 +0100


houghi wrote:
>> To use the "script-fu-fuzzy-border" function in batch
>> mode you need to first execute the required gimp
>> functions to load an image by reading one from a file.
>
> OK and how do I do that?

OK, I am again loosing several hours over this. I start with
http://www.gimp.org/tutorials/Basic_Batch/ and that works.

What I see there is absolutely no serious attempt to explain anything.
It is more a 'How to drive a car? You step in and drive away.' type of
thing. Pity to see that sch a thing where the GIMP could beat anything
is so neglected. :-( Anywah ..

I see two places where things are defined. The first is the define of
simple-unsharp-mask. The second is the plug-in-unsharp-mask.

Let me look at the first thing. There I see respectivaly filename,
radius, amount and threshold. Those are used as well in the commandline
with "foo.png" 5.0 0.5 0.

However when I look in Xtns, I see much more parameters. With a lot of
trial and error I was able to make a sharpen script that worked.

So I then try to re-write it for the fuzzy border and get to the
following:
(define (border-fuzz filename
                color
                value
                toggle
                value
                toggle
                value
                toggle
                toggle
                )
(let* ((image (car (gimp-file-load RUN-NONINTERACTIVE filename
filename)))
(drawable (car (gimp-image-get-active-layer image)))) 
(script-fu-fuzzy-border RUN-NONINTERACTIVE
                           image drawable 
		color
                value
                toggle
                value
                toggle
                value
                toggle
                toggle  
                )
(set! drawable (car (gimp-image-get-active-layer image)))
(gimp-file-save RUN-NONINTERACTIVE image drawable filename filename)
(gimp-image-delete image)))

As command I give the following on one line:
gimp -i -b '(border-fuzz "foo.png" (0;0;0) 50 0 50 0 0 0 0)' -b
'(gimp-quit 0)'

It tells me it is successfull and nothing happens. I have no idea where
I am going wrong as there is no documentation available. I also doubt
that I am the only person in the world wjo wants to use gimp in a script
mode. So please can somebody show me what it must be instead of what I
have. No explanation, just the raw code. I can then try to fugure out
myself what I am doing wrong and apply it to other things.

I will then probably even write it all down for others to use.

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<slrngdpcua.mr0.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 11:04:58 +0100


Niels Giesen wrote:
> Sorry, not giving the raw code, but code interspersed with comments. 

Great. Code would probably have been enough, but comments are nice to
have as well.

<snip as I do not use emacs and do not intend to learn it just to be
able to run a script>

> If you do not want to use that, in the development thereof, I have
> searched the web, and found the following resources to be of use:
>
> http://docs.gimp.org/en/gimp-using-script-fu-tutorial.html
> http://www.ve3syb.ca/wiki/doku.php?id=software:sf:start
> http://mitpress.mit.edu/sicp/full-text/book/book.html
> http://tech.groups.yahoo.com/group/script-fu/

I looked, but found not any example in running things from bash.
I know the way my mind works might be at fault, but I am not very much
able to use books (or man pages) to learn things from.

If anything, the things above confused me more then showed me how to do
things.

The best way I learn things and especialy code is by copy and pasting
and then change one thing and see what happens. Reverse engineering one
might call it, others will notice how little kids learn that way as
well.

<snip>
> Another way of debugging your scripts is turning tracing on, by issuing 
> (tracing TRUE), so, for instance: 
>
> gimp -ic -b "(begin (tracing TRUE) (your code ... ) (gimp-quit RUN-NONINTERACTIVE))"
>
> and you can turn it off with (tracing FALSE).

OK. This becomes interesting.

<snip code>
> From bash: 
> gimp -i -b "(begin (border-fuzz \"foo.png\" '(0 0 0) 50 0 16 FALSE 1 FALSE) (gimp-quit RUN-NONINTERACTIVE))"
>
> Hope this is of use.

Very much so. I am now connected over ssh, so no GUI, but I will be
checking this out this weekend. This is the information as it should
have been presented on the docs.

I will give feedback later on how things went. With your permission, I
will put the information online as well. I willeven try to get it on
docs.gimp.org if you allow me.

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<slrngdpfv5.mr0.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 11:56:37 +0100


Giacomo Boffi wrote:
> houghi <houghi@houghi.org.invalid> writes:
>
>> <snip as I do not use emacs and do not intend to learn it just to be
>> able to run a script>
>
> in this case the purpose of using emacs is DEVELOPING a script - an
> alternative to using emacs is convicing someone else to do our work

I read the words, but I have no idea what you mean. First: what do you
mean by "developing a script". Also why would I want someone else to do
the work? I want to learn and understand it and be able not only to do
'fuzzy' but also be able to do all the other things that are available.

In other words I want to learn to use gimp from the command line.

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<slrngdqb0d.bev.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 19:38:05 +0100


Niels Giesen wrote:
<snip>
> From bash: 
> gimp -i -b "(begin (border-fuzz \"foo.png\" '(0 0 0) 50 0 16 FALSE 1 FALSE) (gimp-quit RUN-NONINTERACTIVE))"
>
> Hope this is of use.

Just to confirm: it works great. Thanks.

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<87d4irntyq.fld@apaflo.com>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 10:21:17 +0100


houghi <houghi@houghi.org.invalid> wrote:
>Floyd L. Davidson wrote:
>> houghi <houghi@houghi.org.invalid> wrote:
>>>I got as far as the following:
>>>gimp -i -d -b "(script-fu-fuzzy-border \"foo.png\" RUN-NONINTERACTIVE
>>>\'(100;100;100) 100 0 16 0 0 0 1)" -b '(gimp-quit 0)'
>>> batch command: executed successfully.
><snip>
>
>> You are using the batch mode to execute a scheme script
>> that operates on a previously loaded image.  The scheme
>> script was written be a menu option available for
>> interactive users, and does nothing to load such an
>> image.  Note that "foo.png" is not an image, it is a
>> *file*, and the "script-fu-fuzzy-border" function
>> requires an image for the first argument.  (I can't
>> relate argument list in the example command above to the
>> argument list required by script-fu-fuzzy-border.)
>
>So what you are saying is that it won't work. Bit strange, because other
>things that I do that way WILL work.

That simply *cannot* be true.  Your argument list has
nothing to do with the require arguments of the function
you are calling.  And there is no code in that function to
load an image from a file.

It *cannot* work.

>> To use the "script-fu-fuzzy-border" function in batch
>> mode you need to first execute the required gimp
>> functions to load an image by reading one from a file.
>
>OK and how do I do that?

You have to *read* the rest of the article you are
responding to one line at a time, multiple times if
necessary, until you *understand* the entire article.
Do that *before* asking stupid questions about each line
that are answered on the next line or in the next
paragraph.

>I think the sample script is lousy for learning. I have read it many
>times over the years and I have not learned anything.

What can anyone say?  Maybe this just isn't something
you are cut out to do.  I can't compose music, or even
play it, and if I asked questions like yours of a
composer I'd expect to be told to go do something like
programming...

Maybe you should compose music! :-)

Here's the script you need to batch process fuzzy borders.

; batchfuzzy.scm
;
; Apply script-fu-fuzzy-border as a batch process.
;
; Batchfuzzy is copyright 2008 by Floyd L. Davidson, floyd@apaflo.com.
; Script-fu-fuzzy-border is defined in fuzzyborder.scm, which is
; copyright by Chris Gutteridge, cjg@ecs.soton.ac.uk.
;
; This file should be placed in directory ~/.gimp-2.4/scripts with
; a filename that ends with ".scm".
;
; GIMP is then called from the command line to process all files
; that fit the specified pattern.  Command line syntax is:
;
;   gimp -i -c -d -b '(batch_fuzzy_border "pattern" "color" \
;                     border_size toggle_blur granularity   \
;                     toggle_shadow percent_shadow)' -b '(gimp-quit 0)'
;
;    "pattern"     : a regular expression pattern specifying files
;                     (example:  "*.jpg")
;
;    "color"       : color of the border
;                     (example:  "pink")
;
;    border_size   : border size in pixels
;                     (example:  20)
;
;    toggle_blur   : blur toggle, 1/0 or TRUE/FALSE
;                     (example:  TRUE)
;
;    granularity   : granularity, 1 or more where 1 is low
;                     (example:  4)
;
;    toggle_shadow : toggle shadow, 1/0 or TRUE/FALSE
;                     (example:  TRUE)
;
;    percent_shadow: percent of border that is shadowed
;                     (example:  75)
;
;  A typical example of a command line to invoke this program is:
;
;   gimp -i -c -d -b '(batch_fuzzy_border "*.jpg" "pink" 40 \
;        TRUE 10 TRUE 50 )' -b '(gimp-quit 0)'
;
;
;
; This program is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.

(define (batch_fuzzy_border  pattern
                             color
                             size
                             blurt
                             gran
                             shadowt
                             shadowp)

  (let* ((filelist (cadr (file-glob pattern 1))))
    (while (not (null? filelist))
           (let* ((filename (car filelist))
                     (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
                     (drawable (car (gimp-image-get-active-layer image))))
               (script-fu-fuzzy-border image drawable color size blurt gran shadowt shadowp FALSE TRUE)
               (set! drawable (car (gimp-image-get-active-layer image)))
               (gimp-file-save RUN-NONINTERACTIVE image drawable filename filename)
               (gimp-image-delete image))
    (set! filelist (cdr filelist)))))
;
; End of batchfuzzy.scm file.

-- 
Floyd L. Davidson <http://www.apaflo.com/floyd_davidson>
Ukpeagvik (Barrow, Alaska)              floyd@apaflo.com




Message-ID:<slrngdpfm5.mr0.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 11:51:49 +0100


Floyd L. Davidson wrote:
> That simply *cannot* be true.  Your argument list has
> nothing to do with the require arguments of the function
> you are calling.  And there is no code in that function to
> load an image from a file.
>
> It *cannot* work.

Then the 40.000+ wallpapers I have must not exist. Silly me. ;-)

>>OK and how do I do that?
>
> You have to *read* the rest of the article you are
> responding to one line at a time, multiple times if
> necessary, until you *understand* the entire article.
> Do that *before* asking stupid questions about each line
> that are answered on the next line or in the next
> paragraph.

That is not how to do it. I indeed do have a problem comprehanding many
things.

>>I think the sample script is lousy for learning. I have read it many
>>times over the years and I have not learned anything.
>
> What can anyone say?  Maybe this just isn't something
> you are cut out to do.  I can't compose music, or even
> play it, and if I asked questions like yours of a
> composer I'd expect to be told to go do something like
> programming...

Why? I think that is a rather eletist aproach and sounds as to blaming
the student for not learning instead of blaming the teacher for not
teaching.

> Maybe you should compose music! :-)

Nah, I stick to scripting. Some of the things I have done is used by
amny thousands of people. I doubt that many people would ever be willing
to listen to my musical skills. I know I don't.

> Here's the script you need to batch process fuzzy borders.
<snip>
> ;  A typical example of a command line to invoke this program is:
> ;
> ;   gimp -i -c -d -b '(batch_fuzzy_border "*.jpg" "pink" 40 \
> ;        TRUE 10 TRUE 50 )' -b '(gimp-quit 0)'
<snip>

Thanks, Great. I will try this out as well when I get home. Just one
question. Instead of "pink" I should be able to use something like
\'(100 100 100) right?

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<slrngdqgij.bev.houghi@pasta.houghi>
Subject:

Re: making a script


Date:Fri, 26 Sep 2008 21:13:07 +0100


Floyd L. Davidson wrote:
<snip>
> ;   gimp -i -c -d -b '(batch_fuzzy_border "*.jpg" "pink" 40 \
> ;        TRUE 10 TRUE 50 )' -b '(gimp-quit 0)'
<snip>

Just to confirm: works great. Together with the other posting I should
be able to make other things work as well.

Just to clarify: even though it is good to see how it is possible to use
*.jpg, I won' be using it that way. What I do is first calculate the
avareage color for an image and then I use that for the rest of the
script.

That means that even when I do a LOT of them in one run, each color and
thus the gimp command line will be different.

Anyway, thanks all. I can now concentrate on doing something like
http://www.photoshopessentials.com/photo-effects/photo-borders-displace/
and other neat effects for wallpapers.

houghi
-- 
The whole principle [of censorship] is wrong. It's like demanding that 
grown men live on skim milk because the baby can't have steak.
		-- Robert A. Heinlein in "The Man Who Sold the Moon"




Message-ID:<20080923075800.366@usenet.piggo.com>
Subject:

Re: making a script


Date:Mon, 22 Sep 2008 23:00:12 +0100


* houghi wrote :
> -=MrX=- wrote:
>>
>> Hi
>>
>> I use Gimp just for 2 things.
>>
>> - resizing pictures to a standard format
>> - filters - decor - fuzzy border (each time same border)
>>
>> Can I make a script what does this for me ?
>
> Yes. Resizing is easier with ImageMagick.
<snip />
> And let me repeat myself again. Look at ImagaMagick That can do a LOT
> for you much easier and faster then using Gimp in scriting. Use the best
> tool at the best moment.

After you've resized for web with ImageMagick, do you sharpen?
I haven't used it for that yet.  Does it have smart-sharpen type
capabilities?

-- 
Troy Piggins | http://piggo.com/~troy                 _ __ (_) __ _  __ _  ___ 
                                                     | '_ \| |/ _` |/ _` |/ _ \
                                                     | .__/|_|\__, |\__, |\___/
                                                     |_|      |___/ |___/