{ "cells": [ { "cell_type": "markdown", "id": "41fefda3", "metadata": {}, "source": [ "# Read the data in" ] }, { "cell_type": "code", "execution_count": 1, "id": "158c3047-8006-45c6-8df3-d4fe153b7a11", "metadata": {}, "outputs": [], "source": [ "filepath = '/local/scratch/EnriqueTitanium/2019_10_04_Ti_550/Scan5/'" ] }, { "cell_type": "code", "execution_count": 2, "id": "fb1fa4de", "metadata": {}, "outputs": [], "source": [ "# open the alpha file for reading\n", "alphaFN = 'Ti550_scan5_13_10_norot2_alpha.ang'\n", "Alpha = open(filepath+alphaFN,\"r\")" ] }, { "cell_type": "code", "execution_count": 3, "id": "d3ca62ab", "metadata": {}, "outputs": [], "source": [ "# read the alpha file to a list of lines\n", "alpha = Alpha.readlines()" ] }, { "cell_type": "code", "execution_count": 4, "id": "ff8fee17", "metadata": {}, "outputs": [], "source": [ "# open the beta file for reading\n", "betaFN = alphaFN.replace('_alpha.ang','_beta.ang')\n", "Beta = open(filepath+betaFN,\"r\")" ] }, { "cell_type": "code", "execution_count": 5, "id": "c71660b6", "metadata": {}, "outputs": [], "source": [ "# read the beta file to a list of lines\n", "beta = Beta.readlines()" ] }, { "cell_type": "code", "execution_count": 6, "id": "27f1b39e", "metadata": {}, "outputs": [], "source": [ "#print the alpha file\n", "#alpha" ] }, { "cell_type": "code", "execution_count": 7, "id": "88bc862d", "metadata": {}, "outputs": [], "source": [ "#print the beta file\n", "#beta " ] }, { "cell_type": "markdown", "id": "bde6510a", "metadata": {}, "source": [ "# Finding the lines to split at and constructing the header" ] }, { "cell_type": "code", "execution_count": 8, "id": "732d085a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "26" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# find where the Euler data starts (actually where the other stuff ends)\n", "alphadataindex = alpha.index('# Column names: phi1, Phi, phi2, x, y, image_quality, confidence_index, phase_id, detector_signal, pattern_fit\\n')\n", "alphadataindex" ] }, { "cell_type": "code", "execution_count": 9, "id": "bf0dfb20", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "26" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# find where the Euler data starts (actually where the other stuff ends)\n", "betadataindex = beta.index('# Column names: phi1, Phi, phi2, x, y, image_quality, confidence_index, phase_id, detector_signal, pattern_fit\\n')\n", "betadataindex" ] }, { "cell_type": "code", "execution_count": 10, "id": "09231993", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "7" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#find where the beta phase information starts\n", "alphaphaseindex = alpha.index('# MaterialName Ti\\n')\n", "alphaphaseindex" ] }, { "cell_type": "code", "execution_count": 11, "id": "158509cc-6efd-4acc-8082-15e9bd0dcd92", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "7" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#find where the beta phase information starts\n", "betaphaseindex = beta.index('# MaterialName Ti\\n')\n", "betaphaseindex" ] }, { "cell_type": "code", "execution_count": 12, "id": "a3258dba", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "13" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#find where the beta phase information ends\n", "betaphaseend = beta.index('# GRID: SqrGrid\\n')\n", "betaphaseend" ] }, { "cell_type": "code", "execution_count": 13, "id": "03424ccc", "metadata": {}, "outputs": [], "source": [ "blank_line = ['# \\n']" ] }, { "cell_type": "code", "execution_count": 14, "id": "43413538", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "13" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#find where the beta phase information ends\n", "alphaphaseend = alpha.index('# GRID: SqrGrid\\n')\n", "alphaphaseend" ] }, { "cell_type": "code", "execution_count": 15, "id": "21f371cc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['# TEM_PIXperUM 1.000000\\n',\n", " '# x-star 0.000000\\n',\n", " '# y-star 0.000000\\n',\n", " '# z-star 0.000000\\n',\n", " '# WorkingDistance 0.000000\\n',\n", " '# \\n',\n", " '# Phase 1\\n',\n", " '# MaterialName Alpha Titanium\\n',\n", " '# Formula Ti\\n',\n", " '# Info\\n',\n", " '# Symmetry 622\\n',\n", " '# LatticeConstants 2.951 2.951 4.681 90.000 90.000 120.000\\n',\n", " '# NumberFamilies 0\\n',\n", " '# \\n',\n", " '# Phase 2\\n',\n", " '# MaterialName Beta Titanium\\n',\n", " '# Formula Ti\\n',\n", " '# Info\\n',\n", " '# Symmetry 43\\n',\n", " '# LatticeConstants 3.232 3.232 3.232 90.000 90.000 90.000\\n',\n", " '# NumberFamilies 0\\n',\n", " '# \\n',\n", " '# GRID: SqrGrid\\n',\n", " '# XSTEP: 3.000000\\n',\n", " '# YSTEP: 3.000000\\n',\n", " '# NCOLS_ODD: 191\\n',\n", " '# NCOLS_EVEN: 191\\n',\n", " '# NROWS: 100\\n',\n", " '# \\n',\n", " '# OPERATOR: orix_v0.10.2\\n',\n", " '# \\n',\n", " '# SAMPLEID:\\n',\n", " '# \\n',\n", " '# SCANID:\\n',\n", " '# \\n',\n", " '# Column names: phi1, Phi, phi2, x, y, image_quality, confidence_index, phase_id, detector_signal, pattern_fit\\n',\n", " '# \\n']" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Make the header\n", "composite_header = alpha[:alphaphaseindex] + ['# MaterialName Alpha Titanium\\n'] + alpha[alphaphaseindex+1:alphaphaseend] + \\\n", "blank_line + ['# Phase 2\\n'] + ['# MaterialName Beta Titanium\\n'] + beta[betaphaseindex+1:betaphaseend] \\\n", "+ blank_line + alpha[alphaphaseend:alphadataindex+2]\n", "composite_header" ] }, { "cell_type": "markdown", "id": "1a8f9e2d", "metadata": {}, "source": [ "# Making the composite map" ] }, { "cell_type": "code", "execution_count": 16, "id": "ed8068ff", "metadata": {}, "outputs": [], "source": [ "#extracting the two sets of Euler angle data\n", "alphadata = alpha[alphadataindex+2:]\n", "betadata = beta[betadataindex+2:]" ] }, { "cell_type": "code", "execution_count": 17, "id": "fa05ea3d", "metadata": {}, "outputs": [], "source": [ "#alphadata" ] }, { "cell_type": "code", "execution_count": 18, "id": "fb62085e", "metadata": {}, "outputs": [], "source": [ "#betadata" ] }, { "cell_type": "code", "execution_count": 19, "id": "e750d955", "metadata": {}, "outputs": [], "source": [ "# Run the comparison\n", "# Make a file of alpha data as the starting point\n", "alphabetadata=alphadata.copy()\n", "\n", "# Bias factor: If we think that the normalisation of CI is fine, leave as 1. \n", "# If you feel it is too likely to identify something as beta, increase this above 1.\n", "# If you think it is too likely to identify something as alpha, decrease this below 1.\n", "BF = 1\n", "\n", "# Run line by line through alphadata\n", "for i in range(len(alphadata)):\n", " #Extract confidence index for Alpha and Beta\n", " CI_A = float(alphadata[i].split()[6])\n", " CI_B = float(betadata[i].split()[6])\n", " #Compare the two confidence indices\n", " if CI_B > BF*CI_A:\n", " # Split the beta line into strings\n", " betaline = betadata[i].split()\n", " # Set the phase indicator to 2\n", " betaline[7] = '2'\n", " # Join the line back together correctly and replace the data in that line of alphabetadata\n", " alphabetadata[i] = ' '+' '.join(betaline)+'\\n'\n" ] }, { "cell_type": "code", "execution_count": 20, "id": "9d44f5e6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[' 1.82743 1.53570 1.59162 270.00000 0.00000 11.89182 11.89182 1 0.00000 0.00000\\n',\n", " ' 1.82780 1.53570 1.59162 273.00000 0.00000 11.78143 11.78143 1 0.00000 0.00000\\n',\n", " ' 1.82849 1.53570 1.59162 276.00000 0.00000 11.93061 11.93061 1 0.00000 0.00000\\n',\n", " ' 1.82940 1.53570 1.59162 279.00000 0.00000 11.86319 11.86319 1 0.00000 0.00000\\n',\n", " ' 1.82911 1.53570 1.59162 282.00000 0.00000 11.61911 11.61911 1 0.00000 0.00000\\n',\n", " ' 1.83199 1.53573 1.58865 285.00000 0.00000 11.37479 11.37479 1 0.00000 0.00000\\n',\n", " ' 1.83635 1.52699 1.58576 288.00000 0.00000 10.68811 10.68811 1 0.00000 0.00000\\n',\n", " ' 0.29381 2.20030 5.52832 291.00000 0.00000 10.64900 10.64900 2 0.00000 0.00000\\n',\n", " ' 1.30546 0.93854 2.39290 294.00000 0.00000 10.66416 10.66416 2 0.00000 0.00000\\n',\n", " ' 1.31302 0.94129 2.38672 297.00000 0.00000 10.66286 10.66286 2 0.00000 0.00000\\n',\n", " ' 1.31895 0.94406 2.38057 300.00000 0.00000 10.55324 10.55324 2 0.00000 0.00000\\n',\n", " ' 1.32514 0.93796 2.37458 303.00000 0.00000 10.44095 10.44095 2 0.00000 0.00000\\n',\n", " ' 2.38294 0.91704 2.36244 306.00000 0.00000 10.27592 10.27592 2 0.00000 0.00000\\n',\n", " ' 2.38583 0.91704 2.36244 309.00000 0.00000 10.22210 10.22210 2 0.00000 0.00000\\n',\n", " ' 2.38972 0.91109 2.35619 312.00000 0.00000 10.13424 10.13424 2 0.00000 0.00000\\n',\n", " ' 2.39012 0.91109 2.35619 315.00000 0.00000 9.93420 9.93420 2 0.00000 0.00000\\n',\n", " ' 2.39031 0.91109 2.35619 318.00000 0.00000 9.62532 9.62532 2 0.00000 0.00000\\n',\n", " ' 5.53596 2.22456 5.50403 321.00000 0.00000 9.35055 9.35055 2 0.00000 0.00000\\n',\n", " ' 5.53667 2.22456 5.50403 324.00000 0.00000 8.99224 8.99224 2 0.00000 0.00000\\n',\n", " ' 1.33957 0.90818 2.36249 327.00000 0.00000 8.32013 8.32013 2 0.00000 0.00000\\n',\n", " ' 1.34167 0.90818 2.36249 330.00000 0.00000 8.33235 8.33235 2 0.00000 0.00000\\n',\n", " ' 1.34367 0.90818 2.36249 333.00000 0.00000 8.42492 8.42492 2 0.00000 0.00000\\n',\n", " ' 4.49609 2.22456 5.50403 336.00000 0.00000 8.55372 8.55372 2 0.00000 0.00000\\n',\n", " ' 5.55074 2.22141 5.51645 339.00000 0.00000 8.89710 8.89710 2 0.00000 0.00000\\n',\n", " ' 5.54986 2.22141 5.51645 342.00000 0.00000 8.99535 8.99535 2 0.00000 0.00000\\n',\n", " ' 5.55099 2.22141 5.51645 345.00000 0.00000 9.14738 9.14738 2 0.00000 0.00000\\n',\n", " ' 5.54979 2.22141 5.51645 348.00000 0.00000 9.28130 9.28130 2 0.00000 0.00000\\n',\n", " ' 5.54526 2.22743 5.51030 351.00000 0.00000 9.38007 9.38007 2 0.00000 0.00000\\n',\n", " ' 5.54512 2.22743 5.51030 354.00000 0.00000 9.30817 9.30817 2 0.00000 0.00000\\n',\n", " ' 5.54429 2.22743 5.51030 357.00000 0.00000 9.42545 9.42545 2 0.00000 0.00000\\n',\n", " ' 5.54358 2.22743 5.51030 360.00000 0.00000 9.44359 9.44359 2 0.00000 0.00000\\n',\n", " ' 5.53856 2.22456 5.50403 363.00000 0.00000 9.55574 9.55574 2 0.00000 0.00000\\n',\n", " ' 5.53675 2.23342 5.50408 366.00000 0.00000 9.64593 9.64593 2 0.00000 0.00000\\n',\n", " ' 2.39061 0.91109 2.35619 369.00000 0.00000 9.79296 9.79296 2 0.00000 0.00000\\n',\n", " ' 2.38881 0.91109 2.35619 372.00000 0.00000 9.98786 9.98786 2 0.00000 0.00000\\n',\n", " ' 2.38289 0.91704 2.36244 375.00000 0.00000 10.06671 10.06671 2 0.00000 0.00000\\n',\n", " ' 1.32504 0.93796 2.37458 378.00000 0.00000 10.38160 10.38160 2 0.00000 0.00000\\n',\n", " ' 1.31864 0.94406 2.38057 381.00000 0.00000 10.49459 10.49459 2 0.00000 0.00000\\n',\n", " ' 0.27462 0.94685 2.37444 384.00000 0.00000 10.58022 10.58022 2 0.00000 0.00000\\n',\n", " ' 5.50192 0.94129 2.38672 387.00000 0.00000 10.61702 10.61702 2 0.00000 0.00000\\n',\n", " ' 1.31175 0.94129 2.38672 390.00000 0.00000 10.60729 10.60729 2 0.00000 0.00000\\n',\n", " ' 5.49543 0.93854 2.39290 393.00000 0.00000 10.64144 10.64144 2 0.00000 0.00000\\n',\n", " ' 1.30903 0.94129 2.38672 396.00000 0.00000 10.61710 10.61710 2 0.00000 0.00000\\n',\n", " ' 1.30889 0.94129 2.38672 399.00000 0.00000 10.62192 10.62192 2 0.00000 0.00000\\n',\n", " ' 0.29554 2.20030 5.52832 402.00000 0.00000 10.68720 10.68720 2 0.00000 0.00000\\n',\n", " ' 0.29479 2.20030 5.52832 405.00000 0.00000 10.71487 10.71487 2 0.00000 0.00000\\n',\n", " ' 0.29414 2.20030 5.52832 408.00000 0.00000 10.76245 10.76245 2 0.00000 0.00000\\n',\n", " ' 5.52034 2.19475 5.51603 411.00000 0.00000 10.68074 10.68074 2 0.00000 0.00000\\n',\n", " ' 0.29359 2.20030 5.52832 414.00000 0.00000 10.77877 10.77877 2 0.00000 0.00000\\n',\n", " ' 5.51996 2.19475 5.51603 417.00000 0.00000 10.61849 10.61849 2 0.00000 0.00000\\n',\n", " ' 0.29285 2.20030 5.52832 420.00000 0.00000 10.75257 10.75257 2 0.00000 0.00000\\n',\n", " ' 0.29699 2.20306 5.53450 423.00000 0.00000 10.69516 10.69516 2 0.00000 0.00000\\n',\n", " ' 0.29742 2.20306 5.53450 426.00000 0.00000 10.70029 10.70029 2 0.00000 0.00000\\n',\n", " ' 0.29656 2.20306 5.53450 429.00000 0.00000 10.72019 10.72019 2 0.00000 0.00000\\n',\n", " ' 0.29211 2.20030 5.52832 432.00000 0.00000 10.74478 10.74478 2 0.00000 0.00000\\n',\n", " ' 0.29586 2.20306 5.53450 435.00000 0.00000 10.76740 10.76740 2 0.00000 0.00000\\n',\n", " ' 5.52290 2.19753 5.52216 438.00000 0.00000 10.84468 10.84468 2 0.00000 0.00000\\n',\n", " ' 0.29243 2.20030 5.52832 441.00000 0.00000 10.72756 10.72756 2 0.00000 0.00000\\n',\n", " ' 5.52282 2.19753 5.52216 444.00000 0.00000 11.03135 11.03135 2 0.00000 0.00000\\n',\n", " ' 5.52353 2.19753 5.52216 447.00000 0.00000 10.66147 10.66147 2 0.00000 0.00000\\n',\n", " ' 0.29266 2.20030 5.52832 450.00000 0.00000 10.67681 10.67681 2 0.00000 0.00000\\n',\n", " ' 0.29301 2.20030 5.52832 453.00000 0.00000 10.65449 10.65449 2 0.00000 0.00000\\n',\n", " ' 0.29310 2.20030 5.52832 456.00000 0.00000 10.60518 10.60518 2 0.00000 0.00000\\n',\n", " ' 0.29816 2.20306 5.53450 459.00000 0.00000 10.59342 10.59342 2 0.00000 0.00000\\n',\n", " ' 0.30021 2.20306 5.53450 462.00000 0.00000 10.64521 10.64521 2 0.00000 0.00000\\n',\n", " ' 1.30930 0.94129 2.38672 465.00000 0.00000 10.72509 10.72509 2 0.00000 0.00000\\n',\n", " ' 5.49574 0.93854 2.39290 468.00000 0.00000 10.92491 10.92491 2 0.00000 0.00000\\n',\n", " ' 5.50046 0.94129 2.38672 471.00000 0.00000 11.03021 11.03021 2 0.00000 0.00000\\n',\n", " ' 5.50067 0.94129 2.38672 474.00000 0.00000 11.11326 11.11326 2 0.00000 0.00000\\n',\n", " ' 5.50107 0.94129 2.38672 477.00000 0.00000 11.04480 11.04480 2 0.00000 0.00000\\n',\n", " ' 5.50049 0.94129 2.38672 480.00000 0.00000 11.02664 11.02664 2 0.00000 0.00000\\n',\n", " ' 4.99384 1.58840 4.74769 483.00000 0.00000 11.60028 11.60028 1 0.00000 0.00000\\n',\n", " ' 4.99427 1.59721 4.74789 486.00000 0.00000 11.86731 11.86731 1 0.00000 0.00000\\n',\n", " ' 4.99708 1.59702 4.71831 489.00000 0.00000 12.44671 12.44671 1 0.00000 0.00000\\n',\n", " ' 4.99612 1.59702 4.71831 492.00000 0.00000 12.78045 12.78045 1 0.00000 0.00000\\n',\n", " ' 4.99639 1.59702 4.71831 495.00000 0.00000 12.77042 12.77042 1 0.00000 0.00000\\n',\n", " ' 4.99602 1.59702 4.71831 498.00000 0.00000 13.23601 13.23601 1 0.00000 0.00000\\n',\n", " ' 4.99524 1.59702 4.71831 501.00000 0.00000 13.11329 13.11329 1 0.00000 0.00000\\n',\n", " ' 4.99373 1.59700 4.71535 504.00000 0.00000 13.10161 13.10161 1 0.00000 0.00000\\n',\n", " ' 4.99279 1.59700 4.71535 507.00000 0.00000 13.02653 13.02653 1 0.00000 0.00000\\n',\n", " ' 4.99285 1.59700 4.71535 510.00000 0.00000 12.95266 12.95266 1 0.00000 0.00000\\n',\n", " ' 4.99319 1.59700 4.71535 513.00000 0.00000 12.80791 12.80791 1 0.00000 0.00000\\n',\n", " ' 4.99347 1.59700 4.71535 516.00000 0.00000 12.57389 12.57389 1 0.00000 0.00000\\n',\n", " ' 4.99366 1.59700 4.71535 519.00000 0.00000 12.41868 12.41868 1 0.00000 0.00000\\n',\n", " ' 4.99457 1.59702 4.71831 522.00000 0.00000 12.07283 12.07283 1 0.00000 0.00000\\n',\n", " ' 4.99454 1.60576 4.71834 525.00000 0.00000 11.56360 11.56360 1 0.00000 0.00000\\n',\n", " ' 4.99243 1.61446 4.71538 528.00000 0.00000 10.99982 10.99982 1 0.00000 0.00000\\n',\n", " ' 1.31159 0.93237 2.38696 531.00000 0.00000 10.29984 10.29984 2 0.00000 0.00000\\n',\n", " ' 1.31083 0.92346 2.38719 534.00000 0.00000 10.22130 10.22130 2 0.00000 0.00000\\n',\n", " ' 1.31600 0.91736 2.38113 537.00000 0.00000 10.14884 10.14884 2 0.00000 0.00000\\n',\n", " ' 1.31849 0.91736 2.38113 540.00000 0.00000 9.94435 9.94435 2 0.00000 0.00000\\n',\n", " ' 1.32374 0.91130 2.37501 543.00000 0.00000 9.71736 9.71736 2 0.00000 0.00000\\n',\n", " ' 1.32578 0.91130 2.37501 546.00000 0.00000 9.55610 9.55610 2 0.00000 0.00000\\n',\n", " ' 1.33006 0.90528 2.36881 549.00000 0.00000 9.39480 9.39480 2 0.00000 0.00000\\n',\n", " ' 1.33113 0.90528 2.36881 552.00000 0.00000 9.30608 9.30608 2 0.00000 0.00000\\n',\n", " ' 1.33240 0.90528 2.36881 555.00000 0.00000 9.09106 9.09106 2 0.00000 0.00000\\n',\n", " ' 1.33257 0.91416 2.36871 558.00000 0.00000 9.12064 9.12064 2 0.00000 0.00000\\n',\n", " ' 0.28040 0.93796 2.37458 561.00000 0.00000 9.86061 9.86061 2 0.00000 0.00000\\n',\n", " ' 0.27803 0.92907 2.37472 564.00000 0.00000 10.13195 10.13195 2 0.00000 0.00000\\n',\n", " ' 0.27631 0.92907 2.37472 567.00000 0.00000 10.40498 10.40498 2 0.00000 0.00000\\n']" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "start =90\n", "alphabetadata[start:start+100]" ] }, { "cell_type": "markdown", "id": "cd024b7e", "metadata": {}, "source": [ "# Construct final file and write" ] }, { "cell_type": "code", "execution_count": 21, "id": "c0ffc725", "metadata": {}, "outputs": [], "source": [ "# concatenate the lists\n", "listforoutput = composite_header + alphabetadata" ] }, { "cell_type": "code", "execution_count": 22, "id": "894cd424", "metadata": {}, "outputs": [], "source": [ "alphabetaFN = alphaFN.replace('_alpha.ang','_alphabeta.ang')\n", "output = open(filepath+alphabetaFN,\"w\")\n", " \n", "# \\n is placed to indicate EOL (End of Line)\n", "output.writelines(listforoutput)\n", "output.close() #to change file access modes" ] }, { "cell_type": "code", "execution_count": null, "id": "d9976cc9", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Default", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.13" } }, "nbformat": 4, "nbformat_minor": 5 }