Corrected regression in plotting of a B-scan module, and in corresponding docs.

这个提交包含在:
craig-warren
2016-01-18 21:32:18 +00:00
父节点 b4c530c46c
当前提交 502dd2351e
共有 2 个文件被更改,包括 13 次插入13 次删除

查看文件

@@ -110,7 +110,7 @@ You can now run the model:
.. code-block:: none .. code-block:: none
python -m gprMax cylinder_Ascan_2D.in python -m gprMax user_models/cylinder_Ascan_2D.in
View the results View the results
---------------- ----------------
@@ -119,7 +119,7 @@ You should have produced an output file ``cylinder_Ascan_2D.out``. You can view
.. code-block:: none .. code-block:: none
python -m tools.plot_Ascan cylinder_Ascan_2D.out python -m tools.plot_Ascan user_models/cylinder_Ascan_2D.out
:numref:`cylinder_Ascan_results` shows the time history of the electric and magnetic field components and currents at the receiver location. The :math:`E_z` field component can be converted to voltage which represents the A-scan (trace). The initial part of the signal (<1.5 ns) represents the direct wave from transmitter to receiver. Then comes the reflected wavelet from the metal cylinder. :numref:`cylinder_Ascan_results` shows the time history of the electric and magnetic field components and currents at the receiver location. The :math:`E_z` field component can be converted to voltage which represents the A-scan (trace). The initial part of the signal (<1.5 ns) represents the direct wave from transmitter to receiver. Then comes the reflected wavelet from the metal cylinder.
@@ -148,7 +148,7 @@ To run the model for a B-scan is slightly different than for a single A-scan. Yo
.. code-block:: none .. code-block:: none
python -m gprMax cylinder_Bscan_2D.in -n 60 python -m gprMax user_models/cylinder_Bscan_2D.in -n 60
Results Results
@@ -158,7 +158,7 @@ You should have produced 60 output files, one for each A-scan, with names ``cyli
.. code-block:: none .. code-block:: none
python -m tools.outputfiles_merge cylinder_Bscan_2D 60 python -m tools.outputfiles_merge user_models/cylinder_Bscan_2D 60
You should see a combined output file ``cylinder_Bscan_2D_all.out``. The tool will ask you if you want to delete the original single A-scan output files or keep them. You should see a combined output file ``cylinder_Bscan_2D_all.out``. The tool will ask you if you want to delete the original single A-scan output files or keep them.
@@ -166,7 +166,7 @@ You can now view an image of the B-scan using the command:
.. code-block:: none .. code-block:: none
python -m tools.plot_Bscan cylinder_Bscan_2D_all.out --field Ez python -m tools.plot_Bscan user_models/cylinder_Bscan_2D_all.out Ez
:numref:`cylinder_Bscan_results` shows the B-scan (image of the :math:`E_z` field component). As expected a hyperbolic response is present from the metal cylinder. :numref:`cylinder_Bscan_results` shows the B-scan (image of the :math:`E_z` field component). As expected a hyperbolic response is present from the metal cylinder.

查看文件

@@ -26,9 +26,9 @@ from gprMax.exceptions import CmdInputError
"""Plots a B-scan image.""" """Plots a B-scan image."""
# Parse command line arguments # Parse command line arguments
parser = argparse.ArgumentParser(description='Plots a B-scan image.', usage='cd gprMax; python -m tools.plot_Bscan outputfile --field fieldcomponent') parser = argparse.ArgumentParser(description='Plots a B-scan image.', usage='cd gprMax; python -m tools.plot_Bscan outputfile output')
parser.add_argument('outputfile', help='name of output file including path') parser.add_argument('outputfile', help='name of output file including path')
parser.add_argument('--output', help='name of output to be plotted, i.e. Ex Ey Ez') parser.add_argument('output', help='name of output to be plotted, i.e. Ex Ey Ez')
args = parser.parse_args() args = parser.parse_args()
# Open output file and read some attributes # Open output file and read some attributes
@@ -37,11 +37,10 @@ path = '/rxs/rx1'
availablecomponents = list(f[path].keys()) availablecomponents = list(f[path].keys())
# Check if requested output is in file # Check if requested output is in file
if args.output[0] not in availablecomponents: if args.output not in availablecomponents:
raise CmdInputError('{} output requested to plot, but the available output for receiver 1 is {}'.format(args.outputs[0], ', '.join(availablecomponents))) raise CmdInputError('{} output requested to plot, but the available output for receiver 1 is {}'.format(args.output, ', '.join(availablecomponents)))
outputdata = f[path + '/' + args.output] outputdata = f[path + '/' + args.output]
f.close()
# Check that there is more than one A-scan present # Check that there is more than one A-scan present
if outputdata.shape[1] == 1: if outputdata.shape[1] == 1:
@@ -61,9 +60,10 @@ elif 'H' in args.output:
elif 'I' in args.output: elif 'I' in args.output:
cb.set_label('Current [A]') cb.set_label('Current [A]')
plt.show()
# Save a PDF/PNG of the figure # Save a PDF/PNG of the figure
#fig.savefig(os.path.splitext(os.path.abspath(file))[0] + '.pdf', dpi=None, format='pdf', bbox_inches='tight', pad_inches=0.1) #fig.savefig(os.path.splitext(os.path.abspath(file))[0] + '.pdf', dpi=None, format='pdf', bbox_inches='tight', pad_inches=0.1)
#fig.savefig(os.path.splitext(os.path.abspath(file))[0] + '.png', dpi=150, format='png', bbox_inches='tight', pad_inches=0.1) #fig.savefig(os.path.splitext(os.path.abspath(file))[0] + '.png', dpi=150, format='png', bbox_inches='tight', pad_inches=0.1)
plt.show()
f.close()