set cut_paste_input [stack 0]
version 5.2100
push $cut_paste_input
Group {
 name LensKernelFFT
 tile_color 0xff7f28ff
 selected true
 xpos 228
 ypos 20
 addUserKnob {20 User}
 addUserKnob {4 output M {"convolution result" "input kernel" "" ""}}
 addUserKnob {4 c l channels M {RGB RGBA ""}}
 addUserKnob {4 kernel M {"35mm f1.4" "35mm f2.8" "35mm f5.6"}}
 addUserKnob {3 pad l "pad frame" t "If bright areas of the convolved image 'wrap around' to the other side of the image, padding the frame will alleviate this problem. Also, if the bounding extends beyond the image, setting this to a larger size than 0 will allow you to reserve it. value is in pixels.\n"}
 addUserKnob {7 mix}
 mix 1
 addUserKnob {20 Kernels}
 addUserKnob {41 kernel14 l "35mm f1.4 kernel" T Read1.file}
 addUserKnob {41 kernel28 l "35mm f2.8 kernel" T Read2.file}
 addUserKnob {41 kernel56 l "35mm f5.6 kernel" T Read3.file}
}
 Read {
  inputs 0
  format "3908 2602 0 0 3908 2602 1 "
  name Read3
  xpos -250
  ypos -19
 }
 Read {
  inputs 0
  format "3908 2602 0 0 3908 2602 1 "
  name Read2
  xpos -382
  ypos -16
 }
 Read {
  inputs 0
  format "3908 2602 0 0 3908 2602 1 "
  name Read1
  xpos -508
  ypos -21
 }
 Switch {
  inputs 3
  which {{parent.kernel i}}
  name Switch1
  xpos -382
  ypos 91
 }
 Transform {
  translate {1 0}
  center {1954 1301}
  filter Impulse
  name Transform
  label recenter
  xpos -382
  ypos 122
 }
 Dot {
  name Dot1
  xpos -348
  ypos 170
 }
set N1e1bc350 [stack 0]
 Dot {
  name Dot2
  xpos -238
  ypos 170
 }
 Saturation {
  saturation 0
  name Saturation
  label luminance
  xpos -272
  ypos 224
 }
push $N1e1bc350
 Copy {
  inputs 2
  from0 rgba.red
  to0 rgba.alpha
  name Copy
  label luminance->alpha
  xpos -382
  ypos 218
 }
 Dot {
  name Dot10
  xpos -348
  ypos 272
 }
set N1e17d950 [stack 0]
 Dot {
  name Dot9
  xpos -458
  ypos 272
 }
 Dot {
  name Dot11
  xpos -458
  ypos 745
 }
 Input {
  inputs 0
  name Input1
  xpos 0
  ypos -11
 }
 NoOp {
  name ImgIn
  xpos 0
  ypos 35
 }
 Dot {
  name Dot12
  xpos 34
  ypos 59
 }
set N4d873c50 [stack 0]
 Reformat {
  type "to box"
  box_width {{"width + (2* parent.pad)" i}}
  box_height {{"height + (2* parent.pad)" i}}
  resize none
  filter Impulse
  name Reformat_PadFrame
  xpos 0
  ypos 349
 }
 FFT {
  channels rgba
  name FFT2
  xpos 0
  ypos 384
 }
 Dot {
  name Dot3
  selected true
  xpos 34
  ypos 451
 }
push $N1e17d950
 Reformat {
  type "to box"
  box_width {{LensKernelFFT.Reformat_PadFrame.box_width.main i}}
  box_height {{LensKernelFFT.Reformat_PadFrame.box_height.main i}}
  resize none
  filter Impulse
  name ReformatKernel
  xpos -382
  ypos 350
 }
 FFT {
  channels rgba
  normalize_input true
  center_kernel true
  name FFT1
  xpos -382
  ypos 395
 }
 FFTMultiply {
  inputs 2
  name FFTMultiply1
  xpos -382
  ypos 442
 }
 InvFFT {
  name InvFFT1
  xpos -382
  ypos 478
 }
 Dot {
  name Dot4
  xpos -348
  ypos 548
 }
 Dot {
  name Dot6
  xpos -138
  ypos 548
 }
set N270715f0 [stack 0]
 Dot {
  name Dot7
  xpos 15
  ypos 548
 }
push $N4d873c50
 Dot {
  name Dot13
  xpos 170
  ypos 59
 }
 Dot {
  name Dot15
  xpos 170
  ypos 415
 }
set N5774c4b0 [stack 0]
 Dot {
  name Dot5
  xpos 34
  ypos 501
 }
set N39ac93a0 [stack 0]
 Copy {
  inputs 2
  channels rgba
  name Copy3
  xpos 0
  ypos 578
 }
push $N270715f0
push $N39ac93a0
 Dot {
  name Dot8
  xpos -68
  ypos 501
 }
 Copy {
  inputs 2
  channels rgb
  name Copy2
  xpos -102
  ypos 581
 }
 Switch {
  inputs 2
  which {{parent.c i}}
  name Switch2
  xpos 0
  ypos 668
 }
 Reformat {
  type "to box"
  box_width {{ImgIn.width i}}
  box_height {{ImgIn.height i}}
  resize none
  filter Impulse
  name ReformatOutput
  xpos 0
  ypos 692
 }
 Switch {
  inputs 2
  which {{parent.output i}}
  name Switch3
  xpos 0
  ypos 742
 }
push $N5774c4b0
 Dot {
  name Dot14
  xpos 170
  ypos 804
 }
set N4d873950 [stack 0]
 Dissolve {
  inputs 2
  channels rgba
  which {{parent.mix i}}
  name Dissolve1
  xpos 0
  ypos 801
 }
set N4d87f820 [stack 0]
 Output {
  name Output1
  xpos 0
  ypos 871
 }
push $N4d87f820
push $N4d873950
 Viewer {
  inputs 2
  input_number 1
  name Viewer1
  xpos -449
  ypos 621
 }
end_group
