fullwave25 1.2.6.dev9__tar.gz → 1.2.6.dev10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/.bumpversion.toml +1 -1
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/PKG-INFO +1 -1
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/__init__.py +1 -1
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/utils/pulse.py +14 -3
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/pyproject.toml +1 -1
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/uv.lock +1 -1
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/.gitignore +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/.pre-commit-config.yaml +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/.python-version +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/20260120_0844.log +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/CITATION.cff +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/CLAUDE.md +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/CONTRIBUTING.md +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/LICENSE +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/Makefile +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/README.md +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/beamformer.m +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/debug_solver_bin/fullwave2_2d_2_relax_multi_gpu_cuda124 +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/debug_solver_bin/fullwave2_2d_exponential_attenuation_multi_gpu +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/debug_solver_bin/fullwave2_2d_exponential_attenuation_multi_gpu_cuda124 +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/debug_solver_bin/fullwave2_2d_exponential_attenuation_multi_gpu_cuda124_ +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/debug_solver_bin/fullwave2_3d_exponential_attenuation_multi_gpu_cuda124 +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/debug_solver_bin/fullwave2_3d_exponential_attenuation_multi_gpu_cuda124_ +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/experiments/__init__.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/experiments/exp_scatterer_diameter.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/beamformer/__init__.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/beamformer/beamformer.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/constants/__init__.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/constants/material_properties.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/grid.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/medium.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/medium_builder/__init__.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/medium_builder/domain.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/medium_builder/medium_builder.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/medium_builder/presets/__init__.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/medium_builder/presets/data/.keep +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/medium_builder/presets/data/abdominal_wall/i2365f_etfw1.mat +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/medium_builder/presets/domain_abdominal_wall.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/medium_builder/presets/domain_background.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/medium_builder/presets/domain_scatterer.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/medium_builder/presets/domain_simple.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/medium_builder/presets/domain_water_gel.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/sensor.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/__init__.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/binary_manager.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/bins/_gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_cuda118 +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/bins/_gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_cuda124 +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/bins/_gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_cuda129 +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/bins/_gpu/2d/num_relax=2/fullwave2_2d_2_relax_multi_gpu_cuda130 +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/bins/_gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_cuda118 +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/bins/_gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_cuda124 +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/bins/_gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_cuda129 +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/bins/_gpu/3d/num_relax=2/fullwave2_3d_2_relax_multi_gpu_cuda130 +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/bins/database/relaxation_params_database_num_relax=2_20260113_0957.mat +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/cuda_utils.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/input_file_writer.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/launcher.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/pml_builder.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/solver.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/solver/utils.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/source.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/transducer.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/utils/__init__.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/utils/check_functions.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/utils/coordinates.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/utils/memory_tempfile.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/utils/numerical.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/utils/plot_utils.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/utils/relaxation_parameters.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/utils/scatterer.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/utils/signal_filter.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/utils/signal_process.py +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/ruff.log +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/ruff.toml +0 -0
- {fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/signal_filter_example.png +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fullwave25
|
|
3
|
-
Version: 1.2.6.
|
|
3
|
+
Version: 1.2.6.dev10
|
|
4
4
|
Summary: Fullwave 2.5: Ultrasound wave propagation simulation with heterogeneous power law attenuation modelling capabilities
|
|
5
5
|
Author: Masashi Sode, Gianmarco Pinton
|
|
6
6
|
Maintainer: Masashi Sode
|
|
@@ -60,7 +60,7 @@ try:
|
|
|
60
60
|
__version__ = version("fullwave")
|
|
61
61
|
except PackageNotFoundError:
|
|
62
62
|
# Update via bump-my-version, not manually
|
|
63
|
-
__version__ = "1.2.6-
|
|
63
|
+
__version__ = "1.2.6-dev10"
|
|
64
64
|
|
|
65
65
|
VERSION = __version__ # for convenience
|
|
66
66
|
logger.info("Fullwave version: %s", __version__)
|
|
@@ -61,6 +61,7 @@ def gaussian_modulated_sinusoidal_signal(
|
|
|
61
61
|
dt = duration / nt
|
|
62
62
|
t_offset = ncycles / f0 + delay_sec
|
|
63
63
|
|
|
64
|
+
phase_correction = 0.0
|
|
64
65
|
if i_layer is not None:
|
|
65
66
|
if dt_for_layer_delay is None:
|
|
66
67
|
error_msg = "dt_for_layer_delay must be provided if i_layer is provided"
|
|
@@ -68,7 +69,17 @@ def gaussian_modulated_sinusoidal_signal(
|
|
|
68
69
|
if cfl_for_layer_delay is None:
|
|
69
70
|
error_msg = "cfl_for_layer_delay must be provided if i_layer is provided"
|
|
70
71
|
raise ValueError(error_msg)
|
|
71
|
-
|
|
72
|
+
layer_delay_sec = (dt_for_layer_delay / cfl_for_layer_delay) * i_layer
|
|
73
|
+
t_offset += layer_delay_sec
|
|
74
|
+
# Correct carrier phase for fractional-sample delays.
|
|
75
|
+
# A continuous time shift of a fractional number of samples changes
|
|
76
|
+
# the carrier phase at each discrete sample point, causing sign
|
|
77
|
+
# inversion and wrong peak positions. Remove the fractional phase
|
|
78
|
+
# offset so the carrier stays on the same discrete phase grid as
|
|
79
|
+
# the base (i_layer=0) signal.
|
|
80
|
+
delay_samples = layer_delay_sec / dt
|
|
81
|
+
fractional_samples = delay_samples - round(delay_samples)
|
|
82
|
+
phase_correction = 2.0 * np.pi * f0 * fractional_samples * dt
|
|
72
83
|
|
|
73
84
|
t = np.arange(nt, dtype=dtype) * dt - t_offset
|
|
74
85
|
|
|
@@ -87,5 +98,5 @@ def gaussian_modulated_sinusoidal_signal(
|
|
|
87
98
|
else:
|
|
88
99
|
env = np.exp(-(a_sq**drop_off))
|
|
89
100
|
|
|
90
|
-
# Compute final signal
|
|
91
|
-
return env * np.sin(w_t) * p0
|
|
101
|
+
# Compute final signal with phase-corrected carrier
|
|
102
|
+
return env * np.sin(w_t + phase_correction) * p0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "fullwave25"
|
|
3
|
-
version = "1.2.6-
|
|
3
|
+
version = "1.2.6-dev10" # Update via bump-my-version, not manually
|
|
4
4
|
description = "Fullwave 2.5: Ultrasound wave propagation simulation with heterogeneous power law attenuation modelling capabilities"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/medium_builder/presets/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/medium_builder/presets/domain_scatterer.py
RENAMED
|
File without changes
|
{fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/medium_builder/presets/domain_simple.py
RENAMED
|
File without changes
|
{fullwave25-1.2.6.dev9 → fullwave25-1.2.6.dev10}/fullwave/medium_builder/presets/domain_water_gel.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|