Skip to content

Commit

Permalink
Updating Logo for LyceanEM
Browse files Browse the repository at this point in the history
  • Loading branch information
FantasyMapping committed Aug 25, 2023
1 parent 8a058d5 commit 2943534
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 9 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
[![Downloads](https://static.pepy.tech/personalized-badge/lyceanem?period=total&units=international_system&left_color=black&right_color=brightgreen&left_text=Downloads)](https://pepy.tech/project/lyceanem)
[![status](https://joss.theoj.org/papers/618868c0e8d7e1f7ae6b9f0b4e1e5a2a/status.svg)](https://joss.theoj.org/papers/618868c0e8d7e1f7ae6b9f0b4e1e5a2a)

![LyceanEM Logo](docs/source/_static/LY_logo_RGB_2000px.png)

LyceanEM was conceived to enable rapid assesments of the suitability of difference antenna apertures for a wide range of platforms.
This is based upon the use of ray tracing to determine the field of view of points of interest on the platform, whether building, train, plane, or mobile phone handset. Allowing the application of Wheelers formulation of the gain of an aperture.

Expand Down
11 changes: 8 additions & 3 deletions docs/examples/07_aperture_farfield_polarisation.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
# The wavelength of interest is also an important variable for antenna array analysis, so we set it now for 10GHz,
# an X band aperture.

az_res = 37
elev_res = 37
az_res = 181
elev_res = 73
wavelength = 3e8 / 10e9

# %%
Expand All @@ -40,6 +40,7 @@

horn_antenna=antenna_structures(structures(solids=[structure]), points(points=[array_points]))

horn_antenna.visualise_antenna()

from lyceanem.models.frequency_domain import calculate_farfield

Expand Down Expand Up @@ -125,8 +126,12 @@

# %%
# The point source can then be rotated, by providing a rotation matrix, and the u,v,n directions are moved with it in a consistent way.
from scipy.spatial.transform import Rotation as R

r=R.from_euler('xyz', np.radians(np.asarray([45.0,45.0,0.0])))
horn_antenna.rotate_antenna(r.as_matrix())
horn_antenna.visualise_antenna()

horn_antenna.rotate_antenna(o3d.geometry.get_rotation_matrix_from_axis_angle(np.radians(np.asarray([45.0,0.0,0.0]))))

desired_E_axis = np.zeros((1, 3), dtype=np.complex64)
desired_E_axis[0, 0] = 1.0
Expand Down
2 changes: 1 addition & 1 deletion docs/examples/08_beamforming_architecture.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
# The wavelength of interest is also an important variable for antenna array analysis, so we set it now for 10GHz,
# an X band aperture.

az_res = 181
az_res = 37
elev_res = 37
wavelength = 3e8 / 10e9

Expand Down
Binary file added docs/source/_static/LY_logo_RGB_2000px.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
Welcome to LyceanEM's documentation!
====================================

.. image:: _static/lynx.png
:width: 200px
.. image:: _static/LY_logo_RGB_2000px.png
:width: 300px
:align: center
:alt: LyceanEM Logo

Expand Down
10 changes: 7 additions & 3 deletions lyceanem/electromagnetics/beamforming.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import mpl_toolkits.mplot3d.art3d as art3d
import numpy as np
import open3d as o3d
import pylab as pl
import scipy.stats
from matplotlib import cm
from matplotlib.patches import Wedge
Expand Down Expand Up @@ -101,7 +102,7 @@ def ArbitaryCoherenceWeights(source_coords, target_coord, wavelength):
"""
Generate Wavefront coherence weights based upon the desired wavelength and the coordinates of the target point
"""
weights = np.zeros((len(source_coords)), dtype=np.complex64)
weights = np.zeros((len(source_coords),1), dtype=np.complex64)
# calculate distances of coords from steering_vector by using it to calculate arbitarily distant point
dist = distance.cdist(source_coords, target_coord)
dist = dist - np.min(dist)
Expand Down Expand Up @@ -1399,6 +1400,7 @@ def PatternPlot2D(
ticknum=6,
line_labels=None,
title_text=None,
fontsize=16,
):
# condition data
data = np.abs(data)
Expand Down Expand Up @@ -1426,6 +1428,7 @@ def PatternPlot2D(
logdata[logdata <= pattern_min] = pattern_min
tick_marks = np.linspace(pattern_min, plot_max, ticknum)
az_rad = np.radians(az)
pl.rcParams.update({'font.size':fontsize})
fig, ax = plt.subplots(subplot_kw={"projection": "polar"})
if multiline == True:
for line in range(num_lines):
Expand All @@ -1437,7 +1440,7 @@ def PatternPlot2D(
ax.plot(az_rad, logdata)

ax.set_rmax(plot_max)
ax.set_rticks(tick_marks) # Less radial ticks
ax.set_rticks(tick_marks,fontsize=fontsize) # Less radial ticks
ax.set_rlabel_position(-22.5) # Move radial labels away from plotted line
ax.grid(True)
if not (line_labels == None):
Expand All @@ -1449,10 +1452,11 @@ def PatternPlot2D(
0.5 + np.cos(legend_angle) / 2,
0.5 + np.sin(legend_angle) / 2,
),
fontsize = fontsize,
)

if not (title_text == None):
ax.set_title(title_text, va="bottom")
ax.set_title(title_text, va="bottom",fontsize=fontsize)

label_angle = np.deg2rad(280)
ax.text(label_angle, plot_max * 1.2, bar_label)
Expand Down

0 comments on commit 2943534

Please sign in to comment.