Skip to main content

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.

Metadata

Release files for backscattermeter_analyzer 3.0.18

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for backscattermeter_analyzer 3.0.18
File Size Uploaded
backscattermeter_analyzer-3.0.18.tar.gz 88.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for backscattermeter_analyzer 3.0.18
File Interpreter ABI Platform
backscattermeter_analyzer-3.0.18-py3-none-any.whl Python 3 none any Details

Total release size: 307.7 kB

Release files / backscattermeter_analyzer-3.0.18.tar.gz

Download URL backscattermeter_analyzer-3.0.18.tar.gz
Size 88.0 kB
Tags Source
SHA-256 checksum
How to use checksums
94ce7804fb603544751f1d292a64223e54bd7bd8dd9f11b0ea4d28170ba93239
BLAKE2b-256 checksum
How to use checksums
e9ef4e4a5255293c7630695f8891df3e77bf91ed97f38dac0b0c1b7d5eda4c15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.5 cpython/3.13.2 HTTPX/0.28.1

Release files / backscattermeter_analyzer-3.0.18-py3-none-any.whl

Download URL backscattermeter_analyzer-3.0.18-py3-none-any.whl
Size 219.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ed2bbcd9c1cab11cf64a36555e7d6f57f2784592ad56b7a8683a45ce16ff0a18
BLAKE2b-256 checksum
How to use checksums
72043cb3c940c1c10f87584f5e1d008d0d6e8f9a20472404179dbad08b183784
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.16.5 cpython/3.13.2 HTTPX/0.28.1

Release history Release notifications | RSS feed

3.0.25

2 release files

3.0.19

2 release files

This release

3.0.18 This release

2 release files

3.0.17

2 release files

3.0.16

2 release files

3.0.15

2 release files

3.0.14

2 release files

3.0.13

2 release files

3.0.12

2 release files

3.0.11

2 release files

3.0.10

2 release files

3.0.9

2 release files

3.0.8

2 release files

3.0.7

2 release files

3.0.6

2 release files

3.0.5

2 release files

3.0.4

2 release files

3.0.3

2 release files

3.0.2

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page