Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
eyes:logics:alignment [2017/06/12 15:45]
dhaselb created
eyes:logics:alignment [2017/06/13 10:12] (current)
dhaselb
Line 1: Line 1:
-====== ​Template Logic Description ​====== +====== ​Alignment ​====== 
-THIS position should be used for a brief introduction (max 2 sentences!) ​of the logic, stating WHAT and WHY it is doing something.+This logic determines the best alignment ​for all the input images against ​set of given 2D references in an exhaustive manner ​and writes them in an AliInfoIO. Alignment ​is typically the prerequisite for all averaging procedures  ​
  
 ===== Usage ===== ===== Usage =====
-Here, general/​generic description ​of HOW the logic is USED should be givenTry to be as general as possible, but also mention prerequisites,​ restrictions,​ advantages, requirements which are specific ​of this logicBasically everything ​the user needs to know to successfully use this logic.+The user has to prepare ​set of images for the alignment typically by filtering and normalizing the images and a set of 2D references coming either from a projection ​logic or a previous classificationThe logic will transform all images in polar coordinates and than exhaustively compare all images with all references in all possible ​rotation and shift combination using the Cross correlation coefficient as means of comparisionThe best fitting parameters for every combination of images and references are written in the output. They can be applied using the [[:​eyes:​logics:​applyalignmentparameters]] ​logic. ​    ​
  
-===== Example ==== 
-Here, a very specific example should be given/​described. In the future, this can be supported by screenshots etc.. For the moment, give an example easy enough for the user to understand, but specific enough to elaborate why a given parameter is a good set for this very situation. 
  
-===== Modes/Processes ​===== +===== Parameters and I/=====
-==== thisIsTheNameOfMode1 ==== +
-Here, a short introduction for the given mode should be placed. Again, state WHAT and WHY this mode us useful in not more than 2 sentences.+
  
 |< 100% 30% >| |< 100% 30% >|
 ^ Parameters ​                ^ Description ​    ^ ^ Parameters ​                ^ Description ​    ^
-Some changeable parameter ​ ​| ​Description ​of this parameter | +Accuracy ​ ​| ​angular accuracy ​of Aliinfo ​parameter ​saved. **ONE**: only the best correlating reference in the best fitting orientation is saved. **Low**: Shift, rotation and correlation values are saved for every reference on a 12° grid. **Medium**: Shift, rotation and correlation values are saved for every reference on a 6° grid. **HIGH**: Shift, rotation and correlation values are saved for every reference on a 3° grid.    ​
--> and its sub-parameter ​  | more description ​+Correlation Function ​  | Correlation Function used for comparing two images. **CCF**: Cross correlation Function. **MCF**:​Mutual correlation function.  ​
-Next main parameter ​       | and more more more +Coarse factor ​       ​| ​Coarses images by the given factor prior to alignment to speed up calculations ​ | 
--> and its sub-parameter ​  | ... descriptions ​|+| Extra options ​ | Determines the search space for the alignment. **None**: all possible combinations are searched **Maximum**:​ searches around the maximum of the last alignment cycle in a given angular distance. **CORRIMS**:​ Searches around all high peaks of the last alignment round. ​  | 
 +|Fraction| determines the maximum applicable shift between image and reference as fraction of the image size
 +|Interpolation methode| pixels have to be interpolated during shifting ​and rotation of the images. This determines the mode of action. *Neighbour*:​ Gives the value of the nearest full pixel to the interpolated pixel. **Linear**: Interpolates linearly to the neighbouring pixels. **Cubic**: Interpolates cubicly to the neighbouring pixels. ​| 
 +|Lower Angle bound | determines the maximum applicable rotation between image and reference| 
 +|Radius in Pixel | Radius of the Particle in pixel or as fraction of the image sizeEverything within this radius is transformed to polar coordinates | 
 +|With reflection | Adds mirror images of all references to the search spaceThis is useful when using class averages as references, | 
 +|Sampling| This determines how exact the polar transformation will be. A value around 4 shows good results. A value greater as 6.28 is senseless.| 
 +|Step size| Step size of shift search in pixel| 
 +|Upper Angle bound | determines the maximum applicable rotation between image and reference| 
  
 |< 100% 30% >| |< 100% 30% >|
 ^ Input   ^ Description ^ ^ Input   ^ Description ^
-FirstInput ​ ​| ​Input Description 1 +Images ​ ​| ​stack of 2D images to be aligned ​
-SecondInput ​Input Description 2 | +References ​stack of 2D references, need to have the same size as the images ​ |
-| //​ThirdInput// ​ | Input Description 3: Optional Input in Italic ​|+
  
 |< 100% 30% >| |< 100% 30% >|
 ^ Output ​  ^ Description ^ ^ Output ​  ^ Description ^
-FirstOutput ​Output Description ​|+Aliinfo ​parameter file containing the shift and rotation coordinates for different combinations of reference and image encoded as pixel values. These parameters can be applied to the original infos using [[eyes:​logics:​applyalignmentparameters|]] ​|
  
-|< 100% 30% >| 
-^ New/Changed Header Values ^ Description ^ 
-| headerValue1 | what does it say? how is it changed? | 
-| headerValue2 | what does it say? how is it changed? | 
-| headerValue3 | what does it say? how is it changed? | 
-| headerValue4 | what does it say? how is it changed? | 
  
-==== thisIsTheNameOfMode2 ==== 
-Here, a short introduction for the given mode should be placed. Again, state WHAT and WHY this mode us useful in not more than 2 sentences. 
- 
-|< 100% 30% >| 
-^ Parameters ​                ^ Description ​    ^ 
-| Some changeable parameter ​ | Description of this parameter | 
-| -> and its sub-parameter ​  | more description | 
-| Next main parameter ​       | and more more more | 
-| -> and its sub-parameter ​  | ... descriptions | 
- 
-|< 100% 30% >| 
-^ Input   ^ Description ^ 
-| FirstInput ​ | Input Description 1 | 
-| SecondImput | Input Description 2 | 
-| ThridImput ​ | Input Description 1 | 
- 
-|< 100% 30% >| 
-^ Output ​  ^ Description ^ 
-| FirstOutput | Output Description | 
- 
-|< 100% 30% >| 
-^ New/Changed Header Values ^ Description ^ 
-| headerValue1 | what does it say? how is it changed? | 
-| headerValue2 | what does it say? how is it changed? | 
-| headerValue3 | what does it say? how is it changed? | 
-| headerValue4 | what does it say? how is it changed? | 
  
 ===== Concept ===== ===== Concept =====
-In this paragraph, the "HOW a logic works under the hood" and WHY someone should use it can be elaborated with higher detail. Describes a scenario ​in an image processing workflow where this logic can be used to solve the resulting problemAlso, wikipages, publications or anything else describing the theory behind an algorithm should be linked here, if applicable.+This logic performs an exhaustive alignment ​in polar coordinates as described in: [[http://​www.sciencedirect.com/​science/​article/​pii/​S1047847703001436?​via%3Dihub]]