Add files via upload

This commit is contained in:
David Rotermund 2023-07-10 13:45:28 +02:00 committed by GitHub
parent 3336789ff5
commit b9469cd6e9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 113 additions and 0 deletions

82
test_average_calculate.py Normal file
View file

@ -0,0 +1,82 @@
import torch
from DataContainer import DataContainer
import numpy as np
from tqdm import trange
# path: str = "/data_1/robert/2021-05-05/M3852M/raw"
path: str = "/data_1/robert/2021-05-21/M3852M/raw"
initital_mask_name: str | None = "mask.npy"
initital_mask_update: bool = True
initital_mask_roi: bool = False # default: True
experiment_id: int = 2
trial_id: int = 180
start_position: int = 0
start_position_coefficients: int = 100
remove_heartbeat: bool = True # i.e. use SVD
bin_size: int = 4
threshold: float | None = 0.05 # Between 0 and 1.0
display_logging_messages: bool = False
save_logging_messages: bool = False
# Post data processing modifiations
gaussian_blur_kernel_size: int | None = 3
gaussian_blur_sigma: float = 1.0
bin_size_post: int | None = None
# ------------------------
torch_device: torch.device = torch.device(
"cuda:0" if torch.cuda.is_available() else "cpu"
)
af = DataContainer(
path=path,
device=torch_device,
display_logging_messages=display_logging_messages,
save_logging_messages=save_logging_messages,
)
list_of_experiments = af.get_experiments()
print(
f"The following experiments have been found:\n {list_of_experiments.cpu().numpy()}"
)
assert experiment_id in list_of_experiments
print(f"Continue with experiment: {experiment_id}")
list_of_trials = af.get_trials(experiment_id).cpu().numpy()
print(f"The following trials have been found:\n {list_of_trials}")
result: torch.Tensor | None = None
n: float = 0
for trial_id in trange(0, len(list_of_trials)):
result_temp, mask = af.automatic_load(
experiment_id=experiment_id,
trial_id=int(list_of_trials[trial_id]),
start_position=start_position,
remove_heartbeat=remove_heartbeat, # i.e. use SVD
bin_size=bin_size,
initital_mask_name=initital_mask_name,
initital_mask_update=initital_mask_update,
initital_mask_roi=initital_mask_roi,
start_position_coefficients=start_position_coefficients,
gaussian_blur_kernel_size=gaussian_blur_kernel_size,
gaussian_blur_sigma=gaussian_blur_sigma,
bin_size_post=bin_size_post,
threshold=threshold,
)
n += 1.0
if result is None:
result = result_temp
else:
result += result_temp
assert result is not None
assert mask is not None
result /= n
np.savez("result.npz", result=result.cpu(), mask=mask.cpu())

31
test_average_show.py Normal file
View file

@ -0,0 +1,31 @@
from Anime import Anime
import matplotlib.pyplot as plt
import numpy as np
show_example_timeseries: bool = True
play_movie: bool = True
example_position_x: int = 280
example_position_y: int = 440
bin_size: int = 4
bin_size_post: int | None = None
data = np.load("result.npz")
result = data["result"]
mask = data["mask"]
example_position_x = example_position_x // bin_size
example_position_y = example_position_y // bin_size
if bin_size_post is not None:
example_position_x = example_position_x // bin_size_post
example_position_y = example_position_y // bin_size_post
if show_example_timeseries:
plt.plot(result[:, example_position_x, example_position_y])
plt.show()
if play_movie:
ani = Anime()
ani.show(
result - 1.0, mask=mask, vmin_scale=0.5, vmax_scale=0.5
) # , vmin=0.98) # , vmin=1.0, vmax_scale=1.0)