Jump to content


  • Posts

  • Joined

  • Last visited

1 Follower

About MichaelVinther

  • Birthday 02/14/1978

Contact Methods

  • Website URL

Profile Information

  • Gender
  • Location

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

MichaelVinther's Achievements


Contributor (5/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges



  1. I've updated the download link. Also posted a new version with a small bugfix: https://www.fosshub.com/Image-Analyzer.html?dwl=LaplacianPyramidFilterPDN1.1.2.zip
  2. This is a noise reduction filter for improving photos taken at high ISO values. It is based on a neural network which was trained on a number of high ISO images from two different Canon cameras (because that is what I had available) but it seem to generalize well on photos from other cameras. It works quite well for removing noise and recovering details in my experiments so far. Unfortunately it is really slow running on the CPU so I recommend trying it out on a smaller crop of the full image. It is possible to make it run much faster on a Cuda capable Nvidia GPU but it can be a bit tricky to set it up. I will follow up with instructions later if anyone is interested. Download version 1.0.0 (2020-02-09) https://www.fosshub.com/Image-Analyzer.html?dwl=AIDenoisingFilterPDN1.0.0.zip Unzip the file in the Paint.NET\Effects folder or Documents\paint.net App Files\Effects if PDN was installed from the Windows Store. If you like this, please consider donating to the author at http://meesoft.logicnet.dk/Analyzer/support.htm Example, ISO 1600 from Canon EOS 77D, 1:1 crop.
  3. This is a noise reduction filter for e.g. improving photos taken at high ISO values. It works by averaging similar texture patches to reduce noise and at the same time preserve edges and details. The plugin contains two filters available from the Effects | Noise menu. The Local Stats Denoising which is probably the most powerful but also a bit harder to setup and the Adaptive Noise Reduction which is an older version but easier to use. Download version 2.0.0 (2019-08-30) https://www.fosshub.com/Image-Analyzer.html?dwl=LocalStatsDenoisingFilterPDN2.0.0.zip Unzip the file in the Paint.NET\Effects folder or Documents\paint.net App Files\Effects if PDN was installed from the Windows Store. If you like this, please consider donating to the author at http://meesoft.logicnet.dk/Analyzer/support.htm
  4. Updated to version 1.1.0 with speed optimizations and a brightness slider added.
  5. This plugin has been replaced by my Laplacian pyramid filter effect plugin - http://forums.getpaint.net/index.php?/topic/24563-laplacian-pyramid-filter-effect-plugin/- which has more features and produces much better quality,
  6. I tried to implement the optimizations they describe in this paper, but unfortunately it didn't give much compared to my existing implementation. For some parameter values (with Detail handling=1 (alpha in the paper)) it is faster (perhaps 2x) but for other values it actually takes longer to achieve the same quality. I've uploaded the plugin with a new version that uses the new algorithm when it makes sense.
  7. Thanks for the hint, I will get this paper. Just one more example (photo from Mostar, Bosnia-Herzegovina, © Michael Vinther 2015):
  8. I have placed the previous version of the plugin which should be compatible with older versions of PDN here: LaplacianPyramidFilter1.0.0.1.zip Note that it is somewhat slower than the latest version.
  9. Well, this is the post that gave me idea to use ReadOnlyBoundToNameValuesRule, but unfortunately it doesn't seem to be able to do what I need.
  10. Thanks for the code. I was hoping to be able to use PDN's standard progress bar but since that is not possible I'll use your solution. By the way, I found that it looks better if the progress form does not take focus and cause PDN do be displayed as inactive. That can be achieved by making the form like this: class ProgressForm : Form { protected override bool ShowWithoutActivation { get { return true; } } } ... using (Form form = new ProgressForm())
  11. Is it in any was possible to control the progress bar or make your own in a PropertyBasedEffect? I have an effect where I need to do some time consuming pre-processing before I can deliver the first pixel but after that the rest can be delivered in no time. This means that the default progress bar based on the calls to OnRender will stall at 0% for some a long time and then immediately go to 100% which is not very useful. If this is not possible then I would suggest that if the effect sets EffectFlags.SingleRenderCall then PDN would just show the standard indeterminate progress bar while it is processing as it has no progress info anyway.
  12. Hi I have three double properties and I want one of them to be disabled if both the two others have the value 1.0. My best guess was to do something like this in OnCreatePropertyCollection() List<PropertyCollectionRule> propRules = new List<PropertyCollectionRule>(); propRules.Add(new ReadOnlyBoundToNameValuesRule(PropertyNames.Threshold, false, TupleStruct<object, object>(PropertyNames.Alpha, 1.0), TupleStruct<object, object>(PropertyNames.Beta, 1.0))); but that has causes Threshold to be disabled if any of the others have the value 1.0, not only if both. Setting inverse=true does not give the desired result either. Isn't it possible to achieve this result?
  13. I have just updated the download link with a new version that is much faster. .. and another tone mapping example (photo from The Cisterns below Copenhagen, © Michael Vinther 2014):
  14. Basically it's all in the paper referenced in the first post.. The algorithm is fairly complex to explain so that would be the best reference.
  • Create New...