New release: Version 2.4

Dear Pyxel users,

The Pyxel version 2.4 is released.

This release brings a lot of bugfixes and improvements. There are no breaking changes.

New parameter working_directory for the YAML file

A new optional parameter working_directory has been added in the YAML configuration files. This parameter defines the current working directory, which will be used ad the base directory for all relative paths used in the YAML configuration file.

See the following example:

working_directory: ~/my_folder     # <== define working directory to `~/my_folder` (optional)
simulation:
  mode: calibration
  calibration:
    target_data_path: ['CTI/input/data.fits']  # <==      will be converted as
#                       +-----------------+         `~/my_folder/CTI/input/data.fits`
#                               |                    +---------+
#                           relative path                 |
#                                               from 'working_directory'

New parameter --override for the command line tool

A new optional parameter --override in the pyxel run command line tool allows users to override specific configuration parameters from a YAML configuration file.

This can be particularly useful for making quick adjustments to the configuration without modifying the original YAML file

Example of running the configuration configuration.yaml and overriding its parameters exposure.outputs.output_folder and pipeline.photon_collection.load_image.arguments.image_file

$ python -m pyxel run configuration.yaml --override exposure.outputs.output_folder=new_folder \
                                         --override pipeline.photon_collection.load_image.arguments.image_file=new_image.fits

from this YAML configuration file:

exposure:
  outputs:
     output_folder: old_folder

pipeline:
  photon_collection:
    - name: load_image
      func: pyxel.models.photon_collection.load_image
      enabled: true
      arguments:
        image_file: data/Pleiades_HST.fits

New parameter stepsize for model CosmiX

A new optional parameter stepsize has been added for model Cosmix in group Charge Generation.

This parameter allows adding defined step size files when running_mode: stepsize is enabled.

Example of a YAML configuration file to use this parameter:

- name: cosmix
  func: pyxel.models.charge_generation.cosmix
  enabled: true
  arguments:
    simulation_mode: cosmic_ray
    running_mode: "stepsize"
    particle_type: proton
    initial_energy: 100.          # MeV
    particles_per_second: 100
    incident_angles:
    starting_position:
    spectrum_file: 'data/proton_L2_solarMax_11mm_Shielding.txt'
    seed: 4321
    stepsize:
      - type: proton
        energy:    100.0  # MeV
        thickness: 40.0   # um
        filename:  pyxel/models/charge_generation/cosmix/data/stepsize_proton_100MeV_40um_Si_10k.ascii
      - type: proton
        energy:    100.0  # MeV
        thickness: 50.0   # um
        filename:  pyxel/models/charge_generation/cosmix/data/stepsize_proton_100MeV_50um_Si_10k.ascii
      - type: proton
        energy:    100.0  # MeV
        thickness: 60.0   # um
        filename:  pyxel/models/charge_generation/cosmix/data/stepsize_proton_100MeV_60um_Si_10k.ascii
      - type: proton
        energy:    100.0  # MeV
        thickness: 70.0   # um
        filename:  pyxel/models/charge_generation/cosmix/data/stepsize_proton_100MeV_70um_Si_10k.ascii
      - type: proton
        energy:    100.0  # MeV
        thickness: 100.0   # um
        filename:  pyxel/models/charge_generation/cosmix/data/stepsize_proton_100MeV_100um_Si_10k.ascii

See more details and changes in the changelog.