Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

random_seed not propagated to randomise_axial_position (dormant reproducibility gap)

Đang mở
#135 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
55/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
numpy, python
Lĩnh vực
backend

Hướng nghiên cứu

Bắt đầu trong src/vlab4mic/generate/coordinates_field.py, đọc CoordinatesField.randomise_axial_position() và lệnh gọi của nó từ _gen_abs_from_rel_positions() quanh dòng 501. Theo dõi cách set_molecules_params hoặc create_minimal_field xử lý seed, sau đó xác minh rằng các cấu hình sử dụng axial_offset tạo ra vị trí theo trục có thể lặp lại với cùng seed mà không làm hỏng hành vi hiện có về vị trí và hướng.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Follow-up from the random-seed propagation work in #134.

What
CoordinatesField.randomise_axial_position() (src/vlab4mic/generate/coordinates_field.py) builds its RNG as np.random.default_rng(seed=random_seed), but its only caller, _gen_abs_from_rel_positions() (line ~501), invokes it with no argument:

if self.axial_offset is not None:
    self.randomise_axial_position()   # random_seed defaults to None

So when axial offsets are in use, the axial z-placement draws from a fresh non-deterministic Generator and ignores the seed (a default_rng(None) does not read the global np.random.seed set in experiments.py). All other stochastic inputs (positions via the global seed, orientations and rotations via the threaded random_seed) are reproducible after #134.

Impact: dormant. randomise_axial_position only runs when self.axial_offset is not None. No current article-figure script sets axial_offset (the NPC scripts use axial_precision / axial_resolution_nm, which are unrelated PSF params), so the manuscript figures are unaffected and reproducible. This only bites a user who explicitly configures axial_offset.

Suggested fix
_gen_abs_from_rel_positions() is a no-arg helper called from many places, so threading the seed through the call site is awkward. Cleaner: persist the seed on the field instance (e.g. set self.random_seed in set_molecules_params / create_minimal_field) and have randomise_axial_position default to self.random_seed. Then drop the now-redundant random_seed params that are accepted but unused in the global-np.random position helpers (generate_random_positions), or wire them similarly, for a consistent seeding story.

Priority: low (latent; does not affect current figures).

Ngôn ngữ chính
Python
Star
3
Fork
1
Merge trung bình
1 ngày 7 giờ
Pull request đã merge (30 ngày)
13

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của HenriquesLab/VLab4Mic

Tất cả issue của HenriquesLab/VLab4Mic

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.