Convert & Upload Ray-tracing Dataset.¶
Tutorial Overview:
- From Wireless InSite - Convert from Wireless InSite ray tracer
- From Sionna RT - Convert from Sionna RT
- From AODT - Convert from AODT format
- Upload to DeepMIMO - Upload your datasets to the DeepMIMO database
Related Videos:
In [ ]:
Copied!
From Wireless InSite¶
Convert ray tracing data from Wireless InSite to DeepMIMO format.
In [1]:
Copied!
# Example: Convert from Wireless InSite
# NOTE: This requires Wireless InSite output files
# Define paths to Wireless InSite files
# insite_path = "/path/to/insite/output"
# output_path = "/path/to/deepmimo/output"
# Convert using the converter
# dm.convert(
# source="wireless_insite",
# input_path=insite_path,
# output_path=output_path,
# scenario_name="my_insite_scenario"
# )
print("Wireless InSite converter example (requires InSite files)")
print("See documentation for detailed usage")
# Example: Convert from Wireless InSite
# NOTE: This requires Wireless InSite output files
# Define paths to Wireless InSite files
# insite_path = "/path/to/insite/output"
# output_path = "/path/to/deepmimo/output"
# Convert using the converter
# dm.convert(
# source="wireless_insite",
# input_path=insite_path,
# output_path=output_path,
# scenario_name="my_insite_scenario"
# )
print("Wireless InSite converter example (requires InSite files)")
print("See documentation for detailed usage")
Wireless InSite converter example (requires InSite files) See documentation for detailed usage
From Sionna RT¶
Convert from Sionna Ray Tracer.
In [2]:
Copied!
# Example: Export from Sionna RT to DeepMIMO
# NOTE: This requires Sionna RT to be installed and configured
# In your Sionna RT script, use the exporter:
example_code = """
# In Sionna:
from deepmimo.converters import sionna_exporter
# After running your Sionna RT simulation:
paths = scene.compute_paths()
# Export to DeepMIMO format
sionna_exporter(
paths=paths,
output_dir="./deepmimo_output",
scenario_name="my_sionna_scenario"
)
"""
print("Sionna RT exporter example:")
print(example_code)
# Example: Export from Sionna RT to DeepMIMO
# NOTE: This requires Sionna RT to be installed and configured
# In your Sionna RT script, use the exporter:
example_code = """
# In Sionna:
from deepmimo.converters import sionna_exporter
# After running your Sionna RT simulation:
paths = scene.compute_paths()
# Export to DeepMIMO format
sionna_exporter(
paths=paths,
output_dir="./deepmimo_output",
scenario_name="my_sionna_scenario"
)
"""
print("Sionna RT exporter example:")
print(example_code)
Sionna RT exporter example:
# In Sionna:
from deepmimo.converters import sionna_exporter
# After running your Sionna RT simulation:
paths = scene.compute_paths()
# Export to DeepMIMO format
sionna_exporter(
paths=paths,
output_dir="./deepmimo_output",
scenario_name="my_sionna_scenario"
)
From AODT¶
Convert from AODT (Autonomous Driving) dataset format.
In [3]:
Copied!
# Example: Convert from AODT
# NOTE: This requires AODT dataset files
# Define paths
# aodt_path = "/path/to/aodt/dataset"
# output_path = "/path/to/deepmimo/output"
# Convert using the AODT converter
# dm.convert(
# source="aodt",
# input_path=aodt_path,
# output_path=output_path,
# scenario_name="my_aodt_scenario"
# )
print("AODT converter example (requires AODT files)")
print("See documentation for detailed usage")
# Example: Convert from AODT
# NOTE: This requires AODT dataset files
# Define paths
# aodt_path = "/path/to/aodt/dataset"
# output_path = "/path/to/deepmimo/output"
# Convert using the AODT converter
# dm.convert(
# source="aodt",
# input_path=aodt_path,
# output_path=output_path,
# scenario_name="my_aodt_scenario"
# )
print("AODT converter example (requires AODT files)")
print("See documentation for detailed usage")
AODT converter example (requires AODT files) See documentation for detailed usage
Upload to DeepMIMO¶
Upload your converted scenarios to the DeepMIMO database.
Upload Scenario Files¶
In [4]:
Copied!
# Example: Upload scenario to DeepMIMO database
# NOTE: This requires authentication credentials
# Upload scenario
# dm.upload(
# scenario_path="/path/to/deepmimo/scenario",
# scenario_name="my_custom_scenario",
# description="Description of the scenario",
# tags=["outdoor", "urban", "5G"],
# api_key="your_api_key_here"
# )
print("Upload scenario example (requires API key)")
print("Visit deepmimo.net to get your API key")
# Example: Upload scenario to DeepMIMO database
# NOTE: This requires authentication credentials
# Upload scenario
# dm.upload(
# scenario_path="/path/to/deepmimo/scenario",
# scenario_name="my_custom_scenario",
# description="Description of the scenario",
# tags=["outdoor", "urban", "5G"],
# api_key="your_api_key_here"
# )
print("Upload scenario example (requires API key)")
print("Visit deepmimo.net to get your API key")
Upload scenario example (requires API key) Visit deepmimo.net to get your API key
Upload Additional Images¶
In [5]:
Copied!
# Example: Upload scenario images/visualizations
# dm.upload_images(
# scenario_name="my_custom_scenario",
# image_paths=[
# "/path/to/coverage_map.png",
# "/path/to/3d_scene.png"
# ],
# api_key="your_api_key_here"
# )
print("Upload images example")
# Example: Upload scenario images/visualizations
# dm.upload_images(
# scenario_name="my_custom_scenario",
# image_paths=[
# "/path/to/coverage_map.png",
# "/path/to/3d_scene.png"
# ],
# api_key="your_api_key_here"
# )
print("Upload images example")
Upload images example
Upload Ray Tracing Source Files¶
In [6]:
Copied!
# Example: Upload original ray tracing source files
# dm.upload_rt_source(
# scenario_name="my_custom_scenario",
# source_files=[
# "/path/to/scene.xml",
# "/path/to/materials.mat"
# ],
# ray_tracer="wireless_insite", # or "sionna", "aodt"
# api_key="your_api_key_here"
# )
print("Upload ray tracing source example")
# Example: Upload original ray tracing source files
# dm.upload_rt_source(
# scenario_name="my_custom_scenario",
# source_files=[
# "/path/to/scene.xml",
# "/path/to/materials.mat"
# ],
# ray_tracer="wireless_insite", # or "sionna", "aodt"
# api_key="your_api_key_here"
# )
print("Upload ray tracing source example")
Upload ray tracing source example
Converter Workflow Example¶
Complete workflow from ray tracing to DeepMIMO format.
In [7]:
Copied!
# Step 1: Run ray tracing simulation
print("Step 1: Run your ray tracing simulation")
print(" - Configure scenario geometry")
print(" - Set TX/RX positions")
print(" - Run simulation")
# Step 2: Convert to DeepMIMO format
print("\nStep 2: Convert to DeepMIMO format")
print(" - Use appropriate converter (InSite, Sionna, AODT)")
print(" - Specify input/output paths")
print(" - Run conversion")
# Step 3: Validate converted data
print("\nStep 3: Validate converted data")
print(" - Load dataset with dm.load()")
print(" - Check data integrity")
print(" - Visualize results")
# Step 4: Upload to DeepMIMO (optional)
print("\nStep 4: Upload to DeepMIMO database (optional)")
print(" - Prepare scenario metadata")
print(" - Upload scenario files")
print(" - Share with community")
# Step 1: Run ray tracing simulation
print("Step 1: Run your ray tracing simulation")
print(" - Configure scenario geometry")
print(" - Set TX/RX positions")
print(" - Run simulation")
# Step 2: Convert to DeepMIMO format
print("\nStep 2: Convert to DeepMIMO format")
print(" - Use appropriate converter (InSite, Sionna, AODT)")
print(" - Specify input/output paths")
print(" - Run conversion")
# Step 3: Validate converted data
print("\nStep 3: Validate converted data")
print(" - Load dataset with dm.load()")
print(" - Check data integrity")
print(" - Visualize results")
# Step 4: Upload to DeepMIMO (optional)
print("\nStep 4: Upload to DeepMIMO database (optional)")
print(" - Prepare scenario metadata")
print(" - Upload scenario files")
print(" - Share with community")
Step 1: Run your ray tracing simulation - Configure scenario geometry - Set TX/RX positions - Run simulation Step 2: Convert to DeepMIMO format - Use appropriate converter (InSite, Sionna, AODT) - Specify input/output paths - Run conversion Step 3: Validate converted data - Load dataset with dm.load() - Check data integrity - Visualize results Step 4: Upload to DeepMIMO database (optional) - Prepare scenario metadata - Upload scenario files - Share with community
Validation After Conversion¶
In [8]:
Copied!
# After conversion, validate your data
# converted_scen = "my_converted_scenario"
# dataset = dm.load(converted_scen)
# Check basic properties
# print(f"Number of users: {len(dataset.power)}")
# print(f"Number of paths: {dataset.power.shape[1]}")
# print(f"Data matrices available: {dir(dataset)}")
# Visualize
# dataset.power.plot()
# plt.title('Converted Scenario - Power Coverage')
# plt.show()
print("Validation example (after successful conversion)")
# After conversion, validate your data
# converted_scen = "my_converted_scenario"
# dataset = dm.load(converted_scen)
# Check basic properties
# print(f"Number of users: {len(dataset.power)}")
# print(f"Number of paths: {dataset.power.shape[1]}")
# print(f"Data matrices available: {dir(dataset)}")
# Visualize
# dataset.power.plot()
# plt.title('Converted Scenario - Power Coverage')
# plt.show()
print("Validation example (after successful conversion)")
Validation example (after successful conversion)
Supported Ray Tracers¶
DeepMIMO supports conversion from:
Wireless InSite
- Full 3D ray tracing
- Supports all interaction types
- Detailed material properties
Sionna RT
- GPU-accelerated ray tracing
- Differentiable ray tracer
- TensorFlow integration
AODT
- Autonomous driving scenarios
- V2X communication
- Mobility models
Best Practices¶
- Organize your data: Keep source files well-organized
- Document your scenario: Include metadata and descriptions
- Validate thoroughly: Check converted data before uploading
- Use meaningful names: Choose descriptive scenario names
- Include visualizations: Upload coverage maps and 3D views
Next Steps¶
- Tutorial 8: Migration Guide - Migrating from DeepMIMO v3 to v4
- Return to Tutorial 1: Getting Started for more basic operations