title: GPUImage with MacOS - how to save processed file to disk
body: <p>I'm currently porting bits of code from CoreImage to GPUImage and having a problem saving processed file to disk. While this worked with CoreImage:</p>
  
  <pre><code>guard
      let blurFilter = CIFilter(name: "CIGaussianBlur"),
      let imageURL = Bundle.main.url(forResource: "my-image", withExtension: "png"),
      let ciImage = CIImage(contentsOf: imageURL)
  else {
      return
  }
  
  blurFilter.setValue(ciImage, forKey: kCIInputImageKey)
  blurFilter.setValue(100, forKey: kCIInputRadiusKey)
  
  guard
      let result = blurFilter.outputImage,
      let cgImage = context.createCGImage(result, from: result.extent)
  else {
      return
  }
  
  let destinationURL = desktopURL.appendingPathComponent("output.png")
  let nsImage = NSImage(cgImage: cgImage, size: ciImage.extent.size)
  </code></pre>
  
  <p>The following code ported to GPUImage:</p>
  
  <pre><code>let testImage = NSImage(named:"my-image.png")!
  let blurFilter = GaussianBlur()
  let filteredImage = testImage.filterWithOperation(blurFilter)
  
  let desktopURL = FileManager.default.urls(for: .desktopDirectory, in: .userDomainMask).first!
  let destinationURL = desktopURL.appendingPathComponent("output.png")
  let nsImage = NSImage(nsImage: filteredImage, size: filteredImage.extent.size)
  </code></pre>
  
  <p>Gives the following error message pertaining to the last line:</p>
  
  <pre><code>Value type of 'NSImage' has no member 'extent'
  </code></pre>