User Tools

Site Tools


processing:remove-used-gve

Differences

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

Link to this comparison view

Next revision
Previous revision
processing:remove-used-gve [2019/06/04 14:02]
matthias created
processing:remove-used-gve [2020/11/10 08:56] (current)
smerkel
Line 1: Line 1:
 ====== Remove Used G-vectors ====== ====== Remove Used G-vectors ======
  
-The script ''​timelessRemoveUsedGVE.py''​ is part of the [[software:​timelesstools|TIMEleSS tools]]. It should be combined with [[software:​grainspotter|GrainSpotter]] and [[software:​grainspottermerge|GrainSpotterMerge]].+===== Description =====
  
-In the [[processing:​indexing|process of grain indexing]] (usually done with [[software:​grainspotter|GrainSpotter]]),​ you won't index all grains in the first try. Usually, one has to perform several indexing runs. To make life easier (and to cut down calculation time), this script removes all G-vectors which were used already in the previous run. Then you can perform another run with the reduced G-vector file. After that, this process can be repeated until GrainSpotter doesn'​t index anything anymore.+In the [[processing:​indexing_with_grainspotter|process of grain indexing]] (usually done with [[software:​grainspotter|GrainSpotter]]),​ you won't index all grains in the first try. Usually, one has to perform several indexing runs. To make life easier (and to cut down calculation time), this script removes all G-vectors which were used already in the previous run. Then you can perform another run with the reduced G-vector file. After that, this process can be repeated until GrainSpotter doesn'​t index anything anymore.
  
-The downside is that one has to modify the //.ini// file and the input of ''​timelessRemoveUsedGVE.py'' ​before every new run (we are currently working on a script which avoids this). However, it is worth it: Experience says that you can increase the number of indexed grains easily by more than 30 %, simply by repeating the GrainSpotter algorithm. Usually, 5-6 repetitions are enough before GrainSpotter does not find any new grains anymore.+The downside is that one has to modify the //.ini// file and the input of this tool before every new run (we are currently working on a script which avoids this). However, it is worth it: Experience says that you can increase the number of indexed grains easily by more than 30 %, simply by repeating the GrainSpotter algorithm. Usually, 5-6 repetitions are enough before GrainSpotter does not find any new grains anymore
 + 
 +For historical reasons, there are two competing TIMEleSS tools for this task, ''​timelessRemoveUsedGVE.py''​ and ''​timelessClearGVEGrains''​. ''​timelessClearGVEGrains''​ has been updated recently and has more options. 
 + 
 +==== timelessClearGVEGrains ==== 
 + 
 +<​code>​ 
 +timelessClearGVEGrains ​ -h 
 +usage: timelessClearGVEGrains GSFile oldGVE.gve newGVE.gve 
 + 
 +Creates a new list of g-vectors, removing g-vectors which have already been 
 +assigned to grains by GrainSpotter This is part of the TIMEleSS project 
 +http://​timeless.texture.rocks 
 + 
 +positional arguments:​ 
 +  gsfile ​               Name of GrainSpotter output file (required) 
 +  oldGVE ​               G-vector file used for indexing (required) 
 +  newGVE ​               Name of G-vector file to be created (required) 
 + 
 +optional arguments:​ 
 +  -h, --help ​           show this help message and exit 
 +  -v VERBOSE, --verbose VERBOSE 
 +                        Write out more details about what it does. Default is 
 +                        Default is False 
 +  -s SKIPBOGUS, --skipbogus SKIPBOGUS 
 +                        Skip bogus grains in GrainSpotter output. Default is 
 +                        Default is False 
 + 
 +</​code>​ 
 + 
 +==== timelessRemoveUsedGVE.py ==== 
 + 
 +The script ''​timelessRemoveUsedGVE.py''​ is part of the [[software:​timelesstools|TIMEleSS tools]]. It should be combined with [[software:​grainspotter|GrainSpotter]] and [[processing:​grainspotter-merge|GrainSpotterMerge]].
  
 <​code>​ <​code>​
 timelessRemoveUsedGVE.py -h timelessRemoveUsedGVE.py -h
-usage: timelessRemoveUsedGVE.py ​[options] gve_input.log+usage: timelessRemoveUsedGVE.py ​-l logfilestem.log -i gve_input.gve -o gve_output.gve
  
-Reads an indexing log file and generates ​set of Euler angles for plotting +Takes a logfile from GrainSpotter and a G-vector ​file from ImageD11 as input. 
-with MTex This is part of the TIMEleSS project http://​timeless.texture.rocks+Compares both and creates ​new G-vector file with all those G-vectors which 
 +could not be indexed. Now GrainSpotter can be run again with the new G-vector 
 +file. This is part of the TIMEleSS project http://​timeless.texture.rocks
  
 optional arguments: optional arguments:
Line 22: Line 56:
   -o GVE_OUTPUT, --gve_output GVE_OUTPUT   -o GVE_OUTPUT, --gve_output GVE_OUTPUT
                         Output g-vector file (.gve file)(required)                         Output g-vector file (.gve file)(required)
- 
 </​code>​ </​code>​
 +
 +===== Usage =====
 +
 +==== General workflow ====
 +Repeat these steps several times:
 +  - Run GrainSpotter
 +  - Run the G-vector removal script
 +  - Change your //.ini// file (''​gvecsfile''​ and ''​outputfile''​)
 +
 +You should continue repeating the steps until GrainSpotter doesn'​t find anything anymore **two times in a row**. Depending on your dataset, this usually happens in run 5 - 8.
 +
 +==== Example ====
 +You should start with a G-vector file from ImageD11. Let's call it **gvectors.gve**.
 +
 +Run GrainSpotter (//step 1//) and then the G-vector removal script (//step 2//). The output will then be a new G-vector file. After that, you may have these files:
 +  * **gvectors.gve** (//.gve// file from [[software:​imaged11|ImageD11]])
 +  * **gvectors_1.gve** (//.gve// file from timelessRemoveUsedGVE.py)
 +  * **logfile.log** (//.log// file from [[software:​grainspotter|GrainSpotter]])
 +
 +Next, you have to change your //.ini// file (//step 3//) so that it is referring to **gvectors_1.gve** instead of **gvectors.gve**. Also, change the output file so it does not overwrite the existing //.log// file. 
 +
 +Then, run GrainSpotter again (//step 1//). You will see, it will be faster this time but still find some grains.
 +
 +Now, after the second GrainSpotter run, you may have a file collection like this:
 +  * **gvectors.gve** (//.gve// file from [[software:​imaged11|ImageD11]])
 +  * **gvectors_1.gve** (//.gve// file from the first G-vector removal)
 +  * **logfile.log** (//.log// file from the first [[software:​grainspotter|GrainSpotter]]) run
 +  * **logfile_1.log** (//.log// file from the second [[software:​grainspotter|GrainSpotter]]) run
 +
 +Running ''​timelessRemoveUsedGVE.py''​ again (//step 2//) will produce you another G-vector file (Don't forget to change the input logfile and the output G-vector file in the options!). After that, you can change your //.ini// file again, run GrainSpotter and so on and so on...
 +
 +==== Merging the output ====
 +
 +Use [[processing:​grainspotter-merge|GrainSpotterMerge]] to merge the produced //.log// files.
processing/remove-used-gve.1559656949.txt.gz · Last modified: 2019/06/04 14:02 by matthias