You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Images are shown for DIFFERENT EVENTS for demonstration purpose only

 

Algorithm

Chuck suggested merging algorithm with sequence of procedures as follows.

Original array

For test purpose use image shape=(50,50) random standard normal distribution with sigma=10

Split array for integer and float

Input array with float number of photons per pixel is split for (floor) unsigned integer and fractional float [0,1)

Find local maximums

Fractional float array is used to search for local maximums in the rank=1 cross region (among 4 pixels closest to the central):

Color coding:

  • (0) dark blue - not maximum
  • (1) bright blue - local maximum of rank 1 in the row
  • (2) yellow - local maximum of rank 1 in the column
  • (3) red - local maximum of rank 1 in the cross region

Find couples of connected pixels

Local maximum (with threshold>0.25) is connected to the nearest (not yet used) neighbor with maximal intensity:

Different colors show pairs of connected pixels

Merge coupled pixels

Each pair total intensity (with threshold 0.75) is used to count additional integer number of photons.

Sum arrays

Add array with merged photons with array of integer number of photons:

Implementation

  • C++ algorithm is implemented in ImgAlgos::AlgImgPros::mapOfPhotonNumbersV1
  • Boost-python wrapper is in  ImgAlgos.pyImgAlgos.cpp
  • Pure python wrapper ImgAlgos.PyAlgos.py

Presentation in the Detector package

  • Reference to ImgAlgos.PyAlgos.photon is in AlgoAccess.py

  • AreaDetector.py has photon(...) method

 

 

  • No labels