Backscattermeter analyzer
Help working with the backscattermeter at LAPP.
This tools can characterize the experiment itself, or make ${ f } _ { sc }$ or BRDF measurement with a focus on uncertainty propagation.
Getting started
Requirements
- Python >= 3.14
- GWpy >= 3.0.12 (data type, computation)
- pyusb >= 1.3.1 (interaction with actuator/sensor - not used yet)
- pyqt6 >= 6.9.1 (visualization - not used yet)
- rich >= 13.9.4 (console output)
- lalsuite >= 7.26.15 (data format - not used yet)
Installation
To install this package in the current python environment, use
python -m pip install backscattermeter_analyzer
Usage
from backscattermeter_analyzer import (
Acquisition,
AnalysisBuilder,
Backscattermeter,
Camera,
ProtocolBuilder,
)
from gwpy.timeseries import TimeSeriesDict
# build a protocol with a camera that save the position of the beam and
# with a snail movement of the motor.
protocol = (
ProtocolBuilder(Backscattermeter())
.with_camera_on_suspended_bench(
camera=Camera(
id_="an nice identifier of the camera for human",
serial_number="1359",
),
position=3e-2, # in m
error=5e-3, # in m
)
.with_camera_channels( # X and Y are reversed on this camera !
pos_x="V1:Camera_scatter_FitPosY",
pos_y="V1:Camera_scatter_FitPosX",
)
.with_snail_motor_path(
number=3,
duration=10,
speed=50,
step_numbers=(100, 100, 100, 100),
)
.build()
)
# convert it to an acquisition with real data
acquisition = Acquisition(
protocol=protocol,
data=TimeSeriesDict.read("data.gwf"),
)
# build an analysis where we will get the time interval in which the
# motor is moving. We don't want these data as they are noisy, so this
# can be used later for another analysis that needs stable segment.
analysis = (
AnalysisBuilder()
.with_step_split([acquisition])
.build()
)
# run the analysis, return a result object
result = analysis.run()
print(result.representation.structure.with_step_split[0].start_times[0])
# this will print the start of the segment that contains transition data
# in camera position measurement.
Documentation
A complete documentation will be available soon, in a wiki.
Development
Development Requirements
This project use mise to manage development tools.
This project use the following tools:
- just: command runner
- hatch: project manager and package builder
- uv: package installer
- ruff: python linter and formatter
- ty: python type checker
- jujutsu: version control
Development Usage
just can be used to speed up development for an identical toolchain.
Before making a commit, just fix will run all tests, format the code,
lint and type check. If you don’t want to modify the code, just check
will run all tests, lint and type check without any attempt to fix any
issue.
Before a version change, just release will push all local commits to
repository and publish the new package version.
All available commands can be listed with just -l.
License
This project is licensed under the GNU GPL v3+. See license file for more information.
Acknowledgement
Thanks to all the people that worked on the tools used, like python, neovim and mise.
Release files for backscattermeter_analyzer 3.0.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| backscattermeter_analyzer-3.0.9.tar.gz | 78.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| backscattermeter_analyzer-3.0.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 273.0 kB
Release files / backscattermeter_analyzer-3.0.9.tar.gz
| Download URL | backscattermeter_analyzer-3.0.9.tar.gz |
|---|---|
| Size | 78.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
69605640acd452054fccc27054ada4220589d5b0a0910965a27d58fde440ee26
|
|
BLAKE2b-256 checksum How to use checksums |
e9cdf96f1b3ace826181367a3b1095f46db53ded4092ada51441b394a0bf3a7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.16.5 cpython/3.14.7 HTTPX/0.28.1
|
Release files / backscattermeter_analyzer-3.0.9-py3-none-any.whl
| Download URL | backscattermeter_analyzer-3.0.9-py3-none-any.whl |
|---|---|
| Size | 194.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a1e26c232c18f9045349fe0397107798ff1727c6054ce9b36dc355935d0ee2c8
|
|
BLAKE2b-256 checksum How to use checksums |
54a0547f4de2d570f647b0fd3406d373b5432ec5a73ae3ad4dcb9fc781ab971b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.16.5 cpython/3.14.7 HTTPX/0.28.1
|