RFX-GIMP

Hex Artifact Content
Login

Artifact ab96f22bff9d95ae843e40980d3682137cbfc58d:


0000: 26 72 66 78 5f 73 65 6e 64 6d 73 67 20 28 0a 20  &rfx_sendmsg (. 
0010: 20 71 71 7b 0a 20 20 0a 20 20 20 20 28 6c 65 74   qq{.  .    (let
0020: 2a 20 28 28 69 6e 70 75 74 2d 66 69 6c 65 20 28  * ((input-file (
0030: 73 74 72 69 6e 67 2d 61 70 70 65 6e 64 20 22 24  string-append "$
0040: 63 75 72 74 6d 70 64 69 72 22 20 44 49 52 2d 53  curtmpdir" DIR-S
0050: 45 50 41 52 41 54 4f 52 20 22 24 69 6e 22 29 29  EPARATOR "$in"))
0060: 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6d 61  .           (ima
0070: 67 65 20 28 63 61 72 20 28 67 69 6d 70 2d 66 69  ge (car (gimp-fi
0080: 6c 65 2d 6c 6f 61 64 20 52 55 4e 2d 4e 4f 4e 49  le-load RUN-NONI
0090: 4e 54 45 52 41 43 54 49 56 45 20 69 6e 70 75 74  NTERACTIVE input
00a0: 2d 66 69 6c 65 20 69 6e 70 75 74 2d 66 69 6c 65  -file input-file
00b0: 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28  ))).           (
00c0: 6c 61 79 65 72 20 28 63 61 72 20 28 67 69 6d 70  layer (car (gimp
00d0: 2d 69 6d 61 67 65 2d 67 65 74 2d 61 63 74 69 76  -image-get-activ
00e0: 65 2d 6c 61 79 65 72 20 69 6d 61 67 65 29 29 29  e-layer image)))
00f0: 20 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28   ).      (let ((
0100: 72 65 74 69 6e 65 78 2d 6c 61 79 65 72 20 28 63  retinex-layer (c
0110: 61 72 20 28 67 69 6d 70 2d 6c 61 79 65 72 2d 63  ar (gimp-layer-c
0120: 6f 70 79 20 6c 61 79 65 72 20 54 52 55 45 29 29  opy layer TRUE))
0130: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77  ).            (w
0140: 69 64 74 68 20 28 63 61 72 20 28 67 69 6d 70 2d  idth (car (gimp-
0150: 69 6d 61 67 65 2d 77 69 64 74 68 20 69 6d 61 67  image-width imag
0160: 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  e))).           
0170: 20 28 68 65 69 67 68 74 20 28 63 61 72 20 28 67   (height (car (g
0180: 69 6d 70 2d 69 6d 61 67 65 2d 68 65 69 67 68 74  imp-image-height
0190: 20 69 6d 61 67 65 29 29 29 0a 20 20 20 20 20 20   image))).      
01a0: 20 20 20 20 20 20 28 65 64 67 65 2d 6c 61 79 65        (edge-laye
01b0: 72 20 30 29 20 29 0a 20 20 20 20 20 20 20 20 28  r 0) ).        (
01c0: 67 69 6d 70 2d 69 6d 61 67 65 2d 61 64 64 2d 6c  gimp-image-add-l
01d0: 61 79 65 72 20 69 6d 61 67 65 20 72 65 74 69 6e  ayer image retin
01e0: 65 78 2d 6c 61 79 65 72 20 30 29 0a 20 20 20 20  ex-layer 0).    
01f0: 20 20 20 20 28 70 6c 75 67 2d 69 6e 2d 72 65 74      (plug-in-ret
0200: 69 6e 65 78 20 52 55 4e 2d 4e 4f 4e 49 4e 54 45  inex RUN-NONINTE
0210: 52 41 43 54 49 56 45 20 69 6d 61 67 65 20 72 65  RACTIVE image re
0220: 74 69 6e 65 78 2d 6c 61 79 65 72 20 31 36 20 33  tinex-layer 16 3
0230: 20 30 20 30 2e 31 29 0a 20 20 20 20 20 20 20 20   0 0.1).        
0240: 28 67 69 6d 70 2d 6c 61 79 65 72 2d 73 65 74 2d  (gimp-layer-set-
0250: 6d 6f 64 65 20 72 65 74 69 6e 65 78 2d 6c 61 79  mode retinex-lay
0260: 65 72 20 56 41 4c 55 45 2d 4d 4f 44 45 29 0a 20  er VALUE-MODE). 
0270: 20 20 20 20 20 20 20 28 73 65 74 21 20 65 64 67         (set! edg
0280: 65 2d 6c 61 79 65 72 20 28 63 61 72 20 28 67 69  e-layer (car (gi
0290: 6d 70 2d 6c 61 79 65 72 2d 63 6f 70 79 20 6c 61  mp-layer-copy la
02a0: 79 65 72 20 54 52 55 45 29 29 29 0a 20 20 20 20  yer TRUE))).    
02b0: 20 20 20 20 28 67 69 6d 70 2d 69 6d 61 67 65 2d      (gimp-image-
02c0: 61 64 64 2d 6c 61 79 65 72 20 69 6d 61 67 65 20  add-layer image 
02d0: 65 64 67 65 2d 6c 61 79 65 72 20 30 29 0a 20 20  edge-layer 0).  
02e0: 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 65 6d        (let ((tem
02f0: 70 2d 6c 61 79 65 72 20 28 63 61 72 20 28 67 69  p-layer (car (gi
0300: 6d 70 2d 6c 61 79 65 72 2d 63 6f 70 79 20 72 65  mp-layer-copy re
0310: 74 69 6e 65 78 2d 6c 61 79 65 72 20 54 52 55 45  tinex-layer TRUE
0320: 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28  )))).          (
0330: 67 69 6d 70 2d 69 6d 61 67 65 2d 61 64 64 2d 6c  gimp-image-add-l
0340: 61 79 65 72 20 69 6d 61 67 65 20 74 65 6d 70 2d  ayer image temp-
0350: 6c 61 79 65 72 20 30 29 0a 20 20 20 20 20 20 20  layer 0).       
0360: 20 20 20 28 73 65 74 21 20 65 64 67 65 2d 6c 61     (set! edge-la
0370: 79 65 72 20 28 63 61 72 20 28 67 69 6d 70 2d 69  yer (car (gimp-i
0380: 6d 61 67 65 2d 6d 65 72 67 65 2d 64 6f 77 6e 20  mage-merge-down 
0390: 69 6d 61 67 65 20 74 65 6d 70 2d 6c 61 79 65 72  image temp-layer
03a0: 20 45 58 50 41 4e 44 2d 41 53 2d 4e 45 43 45 53   EXPAND-AS-NECES
03b0: 53 41 52 59 29 29 29 20 29 0a 20 20 20 20 20 20  SARY))) ).      
03c0: 20 20 28 6c 65 74 20 28 28 74 65 6d 70 2d 6c 61    (let ((temp-la
03d0: 79 65 72 20 28 63 61 72 20 28 67 69 6d 70 2d 6c  yer (car (gimp-l
03e0: 61 79 65 72 2d 63 6f 70 79 20 6c 61 79 65 72 20  ayer-copy layer 
03f0: 54 52 55 45 29 29 29 0a 20 20 20 20 20 20 20 20  TRUE))).        
0400: 20 20 20 20 20 20 28 62 75 66 66 65 72 20 22 22        (buffer ""
0410: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ).              
0420: 28 6d 61 73 6b 20 30 29 20 29 0a 20 20 20 20 20  (mask 0) ).     
0430: 20 20 20 20 20 28 67 69 6d 70 2d 69 6d 61 67 65       (gimp-image
0440: 2d 61 64 64 2d 6c 61 79 65 72 20 69 6d 61 67 65  -add-layer image
0450: 20 74 65 6d 70 2d 6c 61 79 65 72 20 30 29 0a 20   temp-layer 0). 
0460: 20 20 20 20 20 20 20 20 20 28 73 65 74 21 20 62           (set! b
0470: 75 66 66 65 72 20 28 63 61 72 20 28 67 69 6d 70  uffer (car (gimp
0480: 2d 65 64 69 74 2d 6e 61 6d 65 64 2d 63 75 74 20  -edit-named-cut 
0490: 74 65 6d 70 2d 6c 61 79 65 72 20 22 62 75 66 66  temp-layer "buff
04a0: 65 72 22 29 29 29 0a 20 20 20 20 20 20 20 20 20  er"))).         
04b0: 20 28 73 65 74 21 20 6d 61 73 6b 20 28 63 61 72   (set! mask (car
04c0: 20 28 67 69 6d 70 2d 6c 61 79 65 72 2d 63 72 65   (gimp-layer-cre
04d0: 61 74 65 2d 6d 61 73 6b 20 72 65 74 69 6e 65 78  ate-mask retinex
04e0: 2d 6c 61 79 65 72 20 30 29 29 29 0a 20 20 20 20  -layer 0))).    
04f0: 20 20 20 20 20 20 28 67 69 6d 70 2d 6c 61 79 65        (gimp-laye
0500: 72 2d 61 64 64 2d 6d 61 73 6b 20 72 65 74 69 6e  r-add-mask retin
0510: 65 78 2d 6c 61 79 65 72 20 6d 61 73 6b 29 0a 20  ex-layer mask). 
0520: 20 20 20 20 20 20 20 20 20 28 67 69 6d 70 2d 66           (gimp-f
0530: 6c 6f 61 74 69 6e 67 2d 73 65 6c 2d 61 6e 63 68  loating-sel-anch
0540: 6f 72 20 28 63 61 72 20 28 67 69 6d 70 2d 65 64  or (car (gimp-ed
0550: 69 74 2d 6e 61 6d 65 64 2d 70 61 73 74 65 20 6d  it-named-paste m
0560: 61 73 6b 20 62 75 66 66 65 72 20 54 52 55 45 29  ask buffer TRUE)
0570: 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 69  )).          (gi
0580: 6d 70 2d 62 75 66 66 65 72 2d 64 65 6c 65 74 65  mp-buffer-delete
0590: 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20   buffer).       
05a0: 20 20 20 28 67 69 6d 70 2d 74 68 72 65 73 68 6f     (gimp-thresho
05b0: 6c 64 20 6d 61 73 6b 20 33 36 20 32 35 35 29 0a  ld mask 36 255).
05c0: 20 20 20 20 20 20 20 20 20 20 28 70 6c 75 67 2d            (plug-
05d0: 69 6e 2d 67 61 75 73 73 20 52 55 4e 2d 4e 4f 4e  in-gauss RUN-NON
05e0: 49 4e 54 45 52 41 43 54 49 56 45 20 69 6d 61 67  INTERACTIVE imag
05f0: 65 20 6d 61 73 6b 20 28 2a 20 30 2e 30 31 20 77  e mask (* 0.01 w
0600: 69 64 74 68 29 20 28 2a 20 30 2e 30 31 20 77 69  idth) (* 0.01 wi
0610: 64 74 68 29 20 30 29 0a 20 20 20 20 20 20 20 20  dth) 0).        
0620: 20 20 28 73 65 74 21 20 62 75 66 66 65 72 20 28    (set! buffer (
0630: 63 61 72 20 28 67 69 6d 70 2d 65 64 69 74 2d 6e  car (gimp-edit-n
0640: 61 6d 65 64 2d 63 6f 70 79 20 6d 61 73 6b 20 22  amed-copy mask "
0650: 62 75 66 66 65 72 22 29 29 29 0a 20 20 20 20 20  buffer"))).     
0660: 20 20 20 20 20 28 73 65 74 21 20 6d 61 73 6b 20       (set! mask 
0670: 28 63 61 72 20 28 67 69 6d 70 2d 6c 61 79 65 72  (car (gimp-layer
0680: 2d 63 72 65 61 74 65 2d 6d 61 73 6b 20 65 64 67  -create-mask edg
0690: 65 2d 6c 61 79 65 72 20 30 29 29 29 0a 20 20 20  e-layer 0))).   
06a0: 20 20 20 20 20 20 20 28 67 69 6d 70 2d 6c 61 79         (gimp-lay
06b0: 65 72 2d 61 64 64 2d 6d 61 73 6b 20 65 64 67 65  er-add-mask edge
06c0: 2d 6c 61 79 65 72 20 6d 61 73 6b 29 0a 20 20 20  -layer mask).   
06d0: 20 20 20 20 20 20 20 28 67 69 6d 70 2d 66 6c 6f         (gimp-flo
06e0: 61 74 69 6e 67 2d 73 65 6c 2d 61 6e 63 68 6f 72  ating-sel-anchor
06f0: 20 28 63 61 72 20 28 67 69 6d 70 2d 65 64 69 74   (car (gimp-edit
0700: 2d 6e 61 6d 65 64 2d 70 61 73 74 65 20 6d 61 73  -named-paste mas
0710: 6b 20 62 75 66 66 65 72 20 54 52 55 45 29 29 29  k buffer TRUE)))
0720: 0a 20 20 20 20 20 20 20 20 20 20 28 67 69 6d 70  .          (gimp
0730: 2d 62 75 66 66 65 72 2d 64 65 6c 65 74 65 20 62  -buffer-delete b
0740: 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20  uffer).         
0750: 20 29 0a 20 20 20 20 20 20 20 20 28 70 6c 75 67   ).        (plug
0760: 2d 69 6e 2d 67 61 75 73 73 20 52 55 4e 2d 4e 4f  -in-gauss RUN-NO
0770: 4e 49 4e 54 45 52 41 43 54 49 56 45 20 69 6d 61  NINTERACTIVE ima
0780: 67 65 20 65 64 67 65 2d 6c 61 79 65 72 20 32 2e  ge edge-layer 2.
0790: 30 20 32 2e 30 20 30 29 0a 20 20 20 20 20 20 20  0 2.0 0).       
07a0: 20 28 70 6c 75 67 2d 69 6e 2d 6c 61 70 6c 61 63   (plug-in-laplac
07b0: 65 20 52 55 4e 2d 4e 4f 4e 49 4e 54 45 52 41 43  e RUN-NONINTERAC
07c0: 54 49 56 45 20 69 6d 61 67 65 20 65 64 67 65 2d  TIVE image edge-
07d0: 6c 61 79 65 72 29 0a 20 20 20 20 20 20 20 20 28  layer).        (
07e0: 70 6c 75 67 2d 69 6e 2d 64 65 73 70 65 63 6b 6c  plug-in-despeckl
07f0: 65 20 52 55 4e 2d 4e 4f 4e 49 4e 54 45 52 41 43  e RUN-NONINTERAC
0800: 54 49 56 45 20 69 6d 61 67 65 20 65 64 67 65 2d  TIVE image edge-
0810: 6c 61 79 65 72 20 31 20 31 20 30 20 32 35 35 29  layer 1 1 0 255)
0820: 0a 20 20 20 20 20 20 20 20 28 70 6c 75 67 2d 69  .        (plug-i
0830: 6e 2d 76 70 72 6f 70 61 67 61 74 65 20 52 55 4e  n-vpropagate RUN
0840: 2d 4e 4f 4e 49 4e 54 45 52 41 43 54 49 56 45 20  -NONINTERACTIVE 
0850: 69 6d 61 67 65 20 65 64 67 65 2d 6c 61 79 65 72  image edge-layer
0860: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
0870: 20 20 20 20 20 20 20 20 20 20 20 20 20 36 20 3b               6 ;
0880: 20 70 72 6f 70 61 67 61 74 65 2d 6d 6f 64 65 20   propagate-mode 
0890: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
08a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 33 20 3b               3 ;
08b0: 20 70 72 6f 70 61 67 61 74 69 6e 67 2d 63 68 61   propagating-cha
08c0: 6e 6e 65 6c 20 0a 20 20 20 20 20 20 20 20 20 20  nnel .          
08d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
08e0: 20 20 30 2e 34 20 3b 20 70 72 6f 70 61 67 61 74    0.4 ; propagat
08f0: 69 6e 67 2d 72 61 74 65 20 0a 20 20 20 20 20 20  ing-rate .      
0900: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0910: 20 20 20 20 20 20 31 35 20 3b 20 64 69 72 65 63        15 ; direc
0920: 74 69 6f 6e 2d 6d 61 73 6b 20 0a 20 20 20 20 20  tion-mask .     
0930: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0940: 20 20 20 20 20 20 20 30 20 3b 20 6c 6f 77 65 72         0 ; lower
0950: 2d 6c 69 6d 69 74 20 0a 20 20 20 20 20 20 20 20  -limit .        
0960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0970: 20 20 20 20 32 35 35 20 3b 20 75 70 70 65 72 2d      255 ; upper-
0980: 6c 69 6d 69 74 0a 20 20 20 20 20 20 20 20 20 20  limit.          
0990: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
09a0: 20 20 29 0a 20 20 20 20 20 20 20 20 28 67 69 6d    ).        (gim
09b0: 70 2d 6c 61 79 65 72 2d 73 65 74 2d 6f 70 61 63  p-layer-set-opac
09c0: 69 74 79 20 65 64 67 65 2d 6c 61 79 65 72 20 38  ity edge-layer 8
09d0: 30 29 0a 20 20 20 20 20 20 20 20 28 67 69 6d 70  0).        (gimp
09e0: 2d 64 65 73 61 74 75 72 61 74 65 2d 66 75 6c 6c  -desaturate-full
09f0: 20 65 64 67 65 2d 6c 61 79 65 72 20 31 29 20 29   edge-layer 1) )
0a00: 0a 20 20 20 20 20 20 28 67 69 6d 70 2d 69 6d 61  .      (gimp-ima
0a10: 67 65 2d 66 6c 61 74 74 65 6e 20 69 6d 61 67 65  ge-flatten image
0a20: 29 0a 0a 20 20 20 20 20 20 28 72 66 78 2d 73 61  )..      (rfx-sa
0a30: 76 65 2d 66 72 61 6d 65 20 69 6d 61 67 65 20 22  ve-frame image "
0a40: 24 6f 75 74 22 29 20 29 0a 20 20 20 20 7d 0a 20  $out") ).    }. 
0a50: 20 29 3b 0a 0a                                    );..