I am kind of fascinated with the new Lux effect of Instagram. I want to "get" the same effect myself, during post processing. This is what I was able to get to, after playing with Levels, Contrast, Saturation and Shadows in iPhoto.

My questions:

  1. Is it possible to get such an effect using basic tools like Picasa or iPhoto?If so, how?
  2. Is it possible to get such an effect in Photoshop/PS Elements/Lightroom (and the like). If so How?

Original Photo: Original Image

With the Instagram Lux effect and "Low Fi" filter: Photo with Instagram Lux effect

What I could get: (at best, with my limited knowledge) photo after playing with Levels, Contrast, Saturation and Shadows in iPhoto

  • \$\begingroup\$ I'm not familiar with Instagram; is it possible to show the effects of the Lux effect and the Lo-Fi filter separately? I don't know where one ends and the other begins, and it might be easier to deconstruct each on its own. (Someone previously analyzed the lo fi filter here). \$\endgroup\$
    – mattdm
    Nov 5, 2012 at 1:03
  • \$\begingroup\$ @mattdm - Typically filters in Instagram can only be applied one at a time. In this case, Lo-Fi is the filter that can only be applied at one per photo. Lux is a secondary option that isn't a "filter" according to Instagram, it is kind of like a button to just bring out vibrancy in any filter. So to answer your question, yes it would be possible, but they have stacked the two here in the examples. \$\endgroup\$
    – dpollitt
    Nov 5, 2012 at 1:36

3 Answers 3


So, here's what I got in just a few minutes using two basic tools: Curves, and Unsharp mask:

replication attempt

I used Gimp, but this is basic stuff any decent image editing software will have. Here's all I did. First, I used the curves tool to dramatically increase the black point, increasing shadow contrast:

shadow contrast up

Then, I pulled the curve upwards to brighten the (new) midtones:

more midtones

I didn't mess with the color channels at all; this is all the global "value" curve. I made these adjustments by eye, watching the tone of the house as I worked.

Having done that, I resized to 612×612 (the size of your Instagram example here), and then used an Unsharp Mask with a radius of 10 pixels and a very high strength.

This doesn't look exactly like your image, but I think we're in the ballpark.

There's a sort of glow over the lower part of the house that's missing, and I couldn't replicate this with global adjustments without destroying the tones in the sky and the detail on on the tree branches on the left; I suspect that the filter applies a graduated vignette/glow/"light leak" effect somewhere in the pipeline here. If you compare the top half of my attempt to the Instagram output, you'll see they're really close; the difference is in the lower part.

The original has flat lighting; this fake burst is part of what adds dynamic interest, but which also feels a little bit like cheating: Instagram is not just capturing what's there with a funky filter, but altering the reality of the scene.

Update: this is with just an upsharp mask with radius 100 and strength in Gimp of 2.0 (Photoshop measures strength differently, but basically, about 10× higher than one would normally use if going for a natural looking image).

with just unsharp mask

The curves approach gives a lot more control and it's still what I recommend, but for quick and dirty replication of the effect, this might be all you need.

  • 6
    \$\begingroup\$ This doesn't look exactly like your image, but I think we're in the ballpark.: Man this is what I wanted. I did not want to create the same as Instagram, I wanted to know what/how that thing was being done. Thanks for explaining step by step... I learnt many things today. Awesome! \$\endgroup\$
    – Nivas
    Nov 5, 2012 at 3:26
  • 1
    \$\begingroup\$ If you step the Unsharp Mask radius way up (to the ~ 100px level) there's no need to touch the curves; UM does the tone forcing for you. \$\endgroup\$
    – user2719
    Apr 28, 2013 at 15:56
  • \$\begingroup\$ @StanRogers It's true; that might be all there is too it. The effect in the example is really strong, and I was hesitant to bring the unsharp mask strength up that high. \$\endgroup\$
    – mattdm
    Apr 28, 2013 at 16:05

I borrowed your image and one from another question like it, to try it in Image View plus more 3, which I made myself so I know all the underlying algorithms.

Lux recreate


I think this is pretty close, albeit the colours may be a bit different (my weakness as I am colour deficient).

What I did was:

  1. Local contrast enhancement. Adobe calls this "clarity". It is similar to the unsharp mask with a very large radius.

  2. Boost saturation. My program does this in the Lab space. Other software may do this in other spaces (e.g. HSV) which can result in different colours. It may also be a selective saturation boost like a proprietary "vibrance".

  3. Your image seesm to have undergone a bit of contrast boost as well, while hte tattoo image hasn't. This points towards some autolevels.

But I would conclude it is these two operations that is incorporated into "Lux"; a local contrast enhancement, a saturation booster of some sort, and autolevels.


I write the algorithm of Michael Nielsen in Matlab. Only first step: unsharp mask with a very large radius. The result was expected.



This answer is only comment to Michael Nielsen's.

enter image description here

  • 4
    \$\begingroup\$ Are you intending to share the code? Or intending to address the saturation aspect? Any answer needs to include steps to produce the effect, not just your output. \$\endgroup\$
    – MikeW
    May 28, 2018 at 23:47
  • 1
    \$\begingroup\$ This appears to basically be a comment to this answer \$\endgroup\$
    – mattdm
    May 29, 2018 at 13:09
  • 1
    \$\begingroup\$ @MikeW code added. \$\endgroup\$ May 29, 2018 at 22:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.