EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: AreaDetector Defective Pixel Correction Plugin
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: David Vine <dvine at sigray.com>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Wed, 21 Apr 2021 12:34:03 +0000

Hi David,

 

A bad pixel correction plugin would be very useful and is something I have been thinking about for a while. It seems like using a median filter around each bad pixel would be a good approach.

 

Here are some cases that should be handled:

  1. - The neighboring pixels in the median filter happen to include other bad pixels.  They need to be excluded.
  2. - Only a portion of the detector is being read out.  
  3. - The detector is binned when being read out.
  4. - The detector readout is reversed in X or Y

The NDArray NDDimension structures contain all of the information required to handle cases 2-4:

 

/** Structure defining a dimension of an NDArray */

typedef struct NDDimension {

    size_t size;    /**< The number of elements in this dimension of the array */

    size_t offset;  /**< The offset relative to the origin of the original data source (detector, for example).

                      * If a selected region of the detector is being read, then this value may be > 0.

                      * The offset value is cumulative, so if a plugin such as NDPluginROI further selects

                      * a subregion, the offset is relative to the first element in the detector, and not

                      * to the first element of the region passed to NDPluginROI. */

    int binning;    /**< The binning (pixel summation, 1=no binning) relative to original data source (detector, for example)

                      * The offset value is cumulative, so if a plugin such as NDPluginROI performs binning,

                      * the binning is expressed relative to the pixels in the detector and not to the possibly

                      * binned pixels passed to NDPluginROI.*/

    int reverse;    /**< The orientation (0=normal, 1=reversed) relative to the original data source (detector, for example)

                      * This value is cumulative, so if a plugin such as NDPluginROI reverses the data, the value must

                      * reflect the orientation relative to the original detector, and not to the possibly

                      * reversed data passed to NDPluginROI. */

} NDDimension_t;

 

Some drivers probably don’t set those NDDimension fields as they should, so they will need to be fixed to handle those cases.

 

I think the plugin should handle:

-          All NDArray data types

-          2-D NDArrays and 3-D NDArrays with ColorMode=RGB1

 

Mark

 

 


From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of David Vine via Tech-talk <tech-talk at aps.anl.gov>
Sent: Tuesday, April 20, 2021 6:58 PM
To: tech-talk at aps.anl.gov
Subject: AreaDetector Defective Pixel Correction Plugin

 

Hi all,

 

Both the Andor Ikon and Teledyne Shadobox detectors I use have defective pixel maps that need to be corrected. Currently these maps are specified in a text file listing bad pixels, rows or columns. They would typically be corrected with an appropriate median filter.

 

I was thinking about implementing the correction as a plugin. Has anyone done that already? 

 

Thanks,

David

 

https://static1.squarespace.com/static/56de1f4a2fe1318cf0aacc98/t/5d9e0fa57996446a078a8e1a/1570639781104/Logo_gmail_small.png?format=300w

 

This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error, please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee, you should not disseminate, distribute or copy this email. Please notify the sender immediately by email if you have received this email by mistake and delete this email from your system. If you are not the intended recipient, you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited


Replies:
RE: AreaDetector Defective Pixel Correction Plugin Mark Rivers via Tech-talk
References:
AreaDetector Defective Pixel Correction Plugin David Vine via Tech-talk

Navigate by Date:
Prev: Re: [EXTERNAL] What is the best (and simple) way to implement security in a Phoebus solution? Kasemir, Kay via Tech-talk
Next: Re: What is the best (and simple) way to implement security in a Phoebus solution? J. Lewis Muir via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
Navigate by Thread:
Prev: AreaDetector Defective Pixel Correction Plugin David Vine via Tech-talk
Next: RE: AreaDetector Defective Pixel Correction Plugin Mark Rivers via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
ANJ, 21 Apr 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·