Differences
This shows you the differences between two versions of the page.
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 a 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, a general/generic description of HOW the logic is USED should be given. Try to be as general as possible, but also mention prerequisites, restrictions, advantages, requirements which are specific of this logic. Basically everything the user needs to know to successfully use this logic. | + | The user has to prepare a 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 classification. The 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 comparision. The 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/O ===== |
- | ==== 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 size. Everything within this radius is transformed to polar coordinates | | ||
+ | |With reflection | Adds mirror images of all references to the search space. This 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 problem. Also, 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]] |