"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "project.plotter.show_supported_engines()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "id": "f0374d85-e74a-4af7-bb90-1e58b4d68732",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Engine \u001b[32m'rich2'\u001b[0m is not supported. Available engines: \u001b[32m'rich'\u001b[0m, \u001b[32m'pandas'\u001b[0m \n"
- ]
- }
- ],
- "source": [
- "project.tabler.engine = 'rich2'"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "id": "a7a805fe-735b-4df6-a1f7-9180e4aa845d",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " \u001b[1;34mSupported engines\u001b[0m \n"
- ]
- },
- {
- "data": {
- "text/html": [
- "╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮\n",
- "│ in <module>:1 │\n",
- "│ │\n",
- "│ ❱ 1 project.tabler.show_supported_engines() │\n",
- "│ 2 │\n",
- "│ │\n",
- "│ /Users/andrewsazonov/Development/github.com/easyscience/diffraction-lib/src/easydiffraction/disp │\n",
- "│ lay/base.py:71 in show_supported_engines │\n",
- "│ │\n",
- "│ 68 │ │ log.paragraph('Supported engines') │\n",
- "│ 69 │ │ # from easydiffraction.utils.utils import render_table │\n",
- "│ 70 │ │ # render_table(headers, rows) │\n",
- "│ ❱ 71 │ │ self.render(headers, rows) │\n",
- "│ 72 │\n",
- "│ 73 │\n",
- "│ 74 class RendererFactoryBase(ABC): │\n",
- "│ │\n",
- "│ /Users/andrewsazonov/Development/github.com/easyscience/diffraction-lib/src/easydiffraction/disp │\n",
- "│ lay/tables.py:45 in render │\n",
- "│ │\n",
- "│ 42 │ │ *, │\n",
- "│ 43 │ │ align: Sequence[str] | None = None, │\n",
- "│ 44 │ ) -> Any: │\n",
- "│ ❱ 45 │ │ return self._backend.render( │\n",
- "│ 46 │ │ │ headers=headers, │\n",
- "│ 47 │ │ │ rows=rows, │\n",
- "│ 48 │ │ │ align=align, │\n",
- "│ │\n",
- "│ /Users/andrewsazonov/Development/github.com/easyscience/diffraction-lib/src/easydiffraction/disp │\n",
- "│ lay/tablers/rich.py:53 in render │\n",
- "│ │\n",
- "│ 50 │ │ align: Sequence[str] | None = None, │\n",
- "│ 51 │ ) -> Any: │\n",
- "│ 52 │ │ table = Table( │\n",
- "│ ❱ 53 │ │ │ title=None, box=self._box, show_header=True, header_style='bold', border_sty │\n",
- "│ 54 │ │ ) │\n",
- "│ 55 │ │ for i, header in enumerate(headers): │\n",
- "│ 56 │ │ │ if align is not None and i < len(align): │\n",
- "│ │\n",
- "│ /Users/andrewsazonov/Development/github.com/easyscience/diffraction-lib/src/easydiffraction/disp │\n",
- "│ lay/tablers/rich.py:31 in _box │\n",
- "│ │\n",
- "│ 28 │ │ │ ││ foot │\n",
- "│ 29 │ │ └─┴┘ bottom │\n",
- "│ 30 │ │ \"\"\" │\n",
- "│ ❱ 31 │ │ return Box( │\n",
- "│ 32 │ │ │ \"\"\"\\ │\n",
- "│ 33 │ │ │ │ ┌──┐ │\n",
- "│ 34 │ │ │ │ │ │ │\n",
- "│ │\n",
- "│ /Users/andrewsazonov/Development/github.com/easyscience/diffraction-lib/.pixi/envs/default/lib/p │\n",
- "│ ython3.13/site-packages/rich/box.py:30 in __init__ │\n",
- "│ │\n",
- "│ 27 │ def __init__(self, box: str, *, ascii: bool = False) -> None: │\n",
- "│ 28 │ │ self._box = box │\n",
- "│ 29 │ │ self.ascii = ascii │\n",
- "│ ❱ 30 │ │ line1, line2, line3, line4, line5, line6, line7, line8 = box.splitlines() │\n",
- "│ 31 │ │ # top │\n",
- "│ 32 │ │ self.top_left, self.top, self.top_divider, self.top_right = iter(line1) │\n",
- "│ 33 │ │ # head │\n",
- "╰──────────────────────────────────────────────────────────────────────────────────────────────────╯\n",
- "ValueError: too many values to unpack (expected 8)\n",
- "\n"
- ],
- "text/plain": [
- "\u001b[31m╭─\u001b[0m\u001b[31m──────────────────────────────\u001b[0m\u001b[31m \u001b[0m\u001b[1;31mTraceback \u001b[0m\u001b[1;2;31m(most recent call last)\u001b[0m\u001b[31m \u001b[0m\u001b[31m───────────────────────────────\u001b[0m\u001b[31m─╮\u001b[0m\n",
- "\u001b[31m│\u001b[0m in :1 \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m1 \u001b[1;4mproject.tabler.show_supported_engines()\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m2 \u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m/Users/andrewsazonov/Development/github.com/easyscience/diffraction-lib/src/easydiffraction/disp\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2mlay/\u001b[0m\u001b[1mbase.py\u001b[0m:71 in show_supported_engines \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m68 \u001b[0m\u001b[2m│ │ \u001b[0mlog.paragraph(\u001b[33m'\u001b[0m\u001b[33mSupported engines\u001b[0m\u001b[33m'\u001b[0m) \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m69 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[2m# from easydiffraction.utils.utils import render_table\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m70 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[2m# render_table(headers, rows)\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m71 \u001b[2m│ │ \u001b[0m\u001b[1;4;96mself\u001b[0m\u001b[1;4m.render(headers, rows)\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m72 \u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m73 \u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m74 \u001b[0m\u001b[94mclass\u001b[0m\u001b[90m \u001b[0m\u001b[4;92mRendererFactoryBase\u001b[0m(ABC): \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m/Users/andrewsazonov/Development/github.com/easyscience/diffraction-lib/src/easydiffraction/disp\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2mlay/\u001b[0m\u001b[1mtables.py\u001b[0m:45 in render \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m42 \u001b[0m\u001b[2m│ │ \u001b[0m*, \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m43 \u001b[0m\u001b[2m│ │ \u001b[0malign: Sequence[\u001b[96mstr\u001b[0m] | \u001b[94mNone\u001b[0m = \u001b[94mNone\u001b[0m, \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m44 \u001b[0m\u001b[2m│ \u001b[0m) -> Any: \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m45 \u001b[2m│ │ \u001b[0m\u001b[94mreturn\u001b[0m \u001b[1;4;96mself\u001b[0m\u001b[1;4m._backend.render(\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m46 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[1;4mheaders=headers,\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m47 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[1;4mrows=rows,\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m48 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[1;4malign=align,\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m/Users/andrewsazonov/Development/github.com/easyscience/diffraction-lib/src/easydiffraction/disp\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2mlay/tablers/\u001b[0m\u001b[1mrich.py\u001b[0m:53 in render \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m50 \u001b[0m\u001b[2m│ │ \u001b[0malign: Sequence[\u001b[96mstr\u001b[0m] | \u001b[94mNone\u001b[0m = \u001b[94mNone\u001b[0m, \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m51 \u001b[0m\u001b[2m│ \u001b[0m) -> Any: \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m52 \u001b[0m\u001b[2m│ │ \u001b[0mtable = Table( \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m53 \u001b[2m│ │ │ \u001b[0mtitle=\u001b[94mNone\u001b[0m, box=\u001b[1;4;96mself\u001b[0m\u001b[1;4m._box\u001b[0m, show_header=\u001b[94mTrue\u001b[0m, header_style=\u001b[33m'\u001b[0m\u001b[33mbold\u001b[0m\u001b[33m'\u001b[0m, border_sty \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m54 \u001b[0m\u001b[2m│ │ \u001b[0m) \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m55 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mfor\u001b[0m i, header \u001b[95min\u001b[0m \u001b[96menumerate\u001b[0m(headers): \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m56 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[94mif\u001b[0m align \u001b[95mis\u001b[0m \u001b[95mnot\u001b[0m \u001b[94mNone\u001b[0m \u001b[95mand\u001b[0m i < \u001b[96mlen\u001b[0m(align): \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m/Users/andrewsazonov/Development/github.com/easyscience/diffraction-lib/src/easydiffraction/disp\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2mlay/tablers/\u001b[0m\u001b[1mrich.py\u001b[0m:31 in _box \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m28 \u001b[0m\u001b[2;33m│ │ \u001b[0m\u001b[33m│ ││ foot\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m29 \u001b[0m\u001b[2;33m│ │ \u001b[0m\u001b[33m└─┴┘ bottom\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m30 \u001b[0m\u001b[2;33m│ │ \u001b[0m\u001b[33m\"\"\"\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m31 \u001b[2m│ │ \u001b[0m\u001b[94mreturn\u001b[0m \u001b[1;4mBox(\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m32 \u001b[0m\u001b[2;90m│ │ │ \u001b[0m\u001b[1;4;33m\"\"\"\\\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m33 \u001b[0m\u001b[2;33m│ │ │ │ \u001b[0m\u001b[1;4;33m┌──┐\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m34 \u001b[0m\u001b[2;33m│ │ │ │ \u001b[0m\u001b[1;4;33m│ │\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m/Users/andrewsazonov/Development/github.com/easyscience/diffraction-lib/.pixi/envs/default/lib/p\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2mython3.13/site-packages/rich/\u001b[0m\u001b[1mbox.py\u001b[0m:30 in __init__ \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m 27 \u001b[0m\u001b[2m│ \u001b[0m\u001b[94mdef\u001b[0m\u001b[90m \u001b[0m\u001b[92m__init__\u001b[0m(\u001b[96mself\u001b[0m, box: \u001b[96mstr\u001b[0m, *, ascii: \u001b[96mbool\u001b[0m = \u001b[94mFalse\u001b[0m) -> \u001b[94mNone\u001b[0m: \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m 28 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m._box = box \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m 29 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m.ascii = ascii \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m 30 \u001b[2m│ │ \u001b[0m\u001b[1;4mline1, line2, line3, line4, line5, line6, line7, line8\u001b[0m = box.splitlines() \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m 31 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[2m# top\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m 32 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[96mself\u001b[0m.top_left, \u001b[96mself\u001b[0m.top, \u001b[96mself\u001b[0m.top_divider, \u001b[96mself\u001b[0m.top_right = \u001b[96miter\u001b[0m(line1) \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m 33 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[2m# head\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m╰──────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n",
- "\u001b[1;91mValueError: \u001b[0mtoo many values to unpack \u001b[1m(\u001b[0mexpected \u001b[1;36m8\u001b[0m\u001b[1m)\u001b[0m\n"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "project.tabler.show_supported_engines()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "d5fe7811-34e3-464e-aa97-6f5ca755a0e1",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "3c587e0b-4d38-4cb6-aee9-083d038b9d9f",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "b7838cbe-03d6-482b-98cb-7c216f9bb2f6",
- "metadata": {},
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python (Pixi)",
- "language": "python",
- "name": "pixi-kernel-python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.13.8"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 5
-}
diff --git a/tmp/unsorted/Untitled0.ipynb b/tmp/unsorted/Untitled0.ipynb
deleted file mode 100644
index b8f6e58ba..000000000
--- a/tmp/unsorted/Untitled0.ipynb
+++ /dev/null
@@ -1,492 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "code",
- "execution_count": 1,
- "id": "2b4ff90d-5a58-4202-ac2a-874168a2c6a2",
- "metadata": {},
- "outputs": [],
- "source": [
- "from easydiffraction.sample_models.categories.atom_sites import AtomSite\n",
- "from easydiffraction.sample_models.categories.cell import Cell\n",
- "from easydiffraction.sample_models.categories.space_group import SpaceGroup"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 46,
- "id": "1100c5b2-e00c-4513-bd2e-e30742d47e67",
- "metadata": {},
- "outputs": [],
- "source": [
- "from easydiffraction.utils.logging import Logger\n",
- "\n",
- "Logger.configure(\n",
- " level=Logger.Level.WARNING,\n",
- " mode=Logger.Mode.VERBOSE,\n",
- " reaction=Logger.Reaction.WARN,\n",
- ")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 47,
- "id": "a1a30af4-91c9-4015-9c96-a571fd1a711a",
- "metadata": {
- "scrolled": true
- },
- "outputs": [],
- "source": [
- "s1 = AtomSite(label='La', type_symbol='La')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 48,
- "id": "5f8217f7-e8cf-4202-8369-ced7438657f2",
- "metadata": {},
- "outputs": [],
- "source": [
- "s1.fract_x.value = 1.234"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 49,
- "id": "4c9cf2fe-7f72-4b9d-a574-5eb8c40223c4",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Type mismatch for \u001b[1m<\u001b[0m\u001b[1;95matom_site.La.fract_x\u001b[0m\u001b[1m>\u001b[0m. Expected `numeric`, got `str` \u001b[1m(\u001b[0m\u001b[32m'xyz'\u001b[0m\u001b[1m)\u001b[0m. Keeping current \u001b[1;36m1.234\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "s1.fract_x.value = 'xyz'"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 17,
- "id": "cba23ca5-a865-428b-b1c8-90e38787e593",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Type mismatch for \u001b[1m<\u001b[0m\u001b[1;95matom_site.La.fract_x\u001b[0m\u001b[1m>\u001b[0m. Expected `numeric`, got `str` \u001b[1m(\u001b[0m\u001b[32m'qwe'\u001b[0m\u001b[1m)\u001b[0m. Keeping current \u001b[1;36m1.234\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "s1.fract_x = 'qwe'"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 18,
- "id": "3ba30971-177b-40e4-b477-e79a00341f87",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Type mismatch for \u001b[1m<\u001b[0m\u001b[1;95mfract_x\u001b[0m\u001b[1m>\u001b[0m. Expected `numeric`, got `str` \u001b[1m(\u001b[0m\u001b[32m'uuuu'\u001b[0m\u001b[1m)\u001b[0m. Using default \u001b[1;36m0.0\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "s1 = AtomSite(label='Si', type_symbol='Si', fract_x='uuuu')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 19,
- "id": "992966e7-6bb7-4bc7-bbff-80acfea6fd2c",
- "metadata": {},
- "outputs": [],
- "source": [
- "s1.fract_x.free = True"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 20,
- "id": "50ef6ebd-097d-4df2-93dc-39243bdba6fd",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Type mismatch for \u001b[1m<\u001b[0m\u001b[1;95matom_site.Si.fract_x.free\u001b[0m\u001b[1m>\u001b[0m. Expected `bool`, got `str` \u001b[1m(\u001b[0m\u001b[32m'abc'\u001b[0m\u001b[1m)\u001b[0m. Keeping current \u001b[3;92mTrue\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "s1.fract_x.free = 'abc'"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 21,
- "id": "2c46e9ca-f68d-4b71-b783-6660f357322c",
- "metadata": {},
- "outputs": [],
- "source": [
- "c = Cell()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 23,
- "id": "8e3fee6f-dc71-49a0-bf67-6f85f4ba83cd",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Value mismatch for \u001b[1m<\u001b[0m\u001b[1;95mlength_b\u001b[0m\u001b[1m>\u001b[0m. Provided \u001b[1;36m-8.8\u001b[0m outside \u001b[1m[\u001b[0m\u001b[1;36m0\u001b[0m, \u001b[1;36m1000\u001b[0m\u001b[1m]\u001b[0m. Using default \u001b[1;36m10.0\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "c = Cell(length_b=-8.8)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 24,
- "id": "749e3f57-1097-4939-b853-4c67148fb831",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Type mismatch for \u001b[1m<\u001b[0m\u001b[1;95mlength_b\u001b[0m\u001b[1m>\u001b[0m. Expected `numeric`, got `str` \u001b[1m(\u001b[0m\u001b[32m'7.7'\u001b[0m\u001b[1m)\u001b[0m. Using default \u001b[1;36m10.0\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "c = Cell(length_b='7.7')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 25,
- "id": "f06c5fa7-372c-4d76-b749-634d92fe6d11",
- "metadata": {},
- "outputs": [],
- "source": [
- "c = Cell(length_b=6.6)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 26,
- "id": "70fd1bf8-e7a3-4576-bed2-b60edf8a8097",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Value mismatch for \u001b[1m<\u001b[0m\u001b[1;95mcell.length_b\u001b[0m\u001b[1m>\u001b[0m. Provided \u001b[1;36m-5.5\u001b[0m outside \u001b[1m[\u001b[0m\u001b[1;36m0\u001b[0m, \u001b[1;36m1000\u001b[0m\u001b[1m]\u001b[0m. Keeping current \u001b[1;36m6.6\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "c.length_b.value = -5.5"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 27,
- "id": "b1277593-dea1-44c9-ac7e-d113f4ee3fda",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Value mismatch for \u001b[1m<\u001b[0m\u001b[1;95mcell.length_b\u001b[0m\u001b[1m>\u001b[0m. Provided \u001b[1;36m-4.4\u001b[0m outside \u001b[1m[\u001b[0m\u001b[1;36m0\u001b[0m, \u001b[1;36m1000\u001b[0m\u001b[1m]\u001b[0m. Keeping current \u001b[1;36m6.6\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "c.length_b = -4.4"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 28,
- "id": "e174a5cf-2653-431b-a665-f88a8e4423f0",
- "metadata": {},
- "outputs": [],
- "source": [
- "c.length_b = 3.3"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 29,
- "id": "9b429e1d-eabd-4e35-a3b7-1a9b752bb4f1",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Value mismatch for \u001b[1m<\u001b[0m\u001b[1;95mcell.length_b\u001b[0m\u001b[1m>\u001b[0m. Provided \u001b[1;36m2222.2\u001b[0m outside \u001b[1m[\u001b[0m\u001b[1;36m0\u001b[0m, \u001b[1;36m1000\u001b[0m\u001b[1m]\u001b[0m. Keeping current \u001b[1;36m3.3\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "c.length_b = 2222.2"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 30,
- "id": "65d2c0fb-8e35-493c-a3e3-24421e9326bb",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Type mismatch for \u001b[1m<\u001b[0m\u001b[1;95mcell.length_b.free\u001b[0m\u001b[1m>\u001b[0m. Expected `bool`, got `str` \u001b[1m(\u001b[0m\u001b[32m'qwe'\u001b[0m\u001b[1m)\u001b[0m. Keeping current \u001b[3;91mFalse\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "c.length_b.free = 'qwe'"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 31,
- "id": "4475ed9b-74d1-4080-8e57-0099b35e94f5",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Unknown attribute \u001b[32m'fre'\u001b[0m of \u001b[1m<\u001b[0m\u001b[1;95mcell.length_b\u001b[0m\u001b[1m>\u001b[0m. Did you mean \u001b[32m'free'\u001b[0m? \n"
- ]
- }
- ],
- "source": [
- "c.length_b.fre = 'fre'"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 32,
- "id": "e3d37a6d-9ec8-4d96-8f95-ce7b67e65f36",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Unknown attribute \u001b[32m'qwe'\u001b[0m of \u001b[1m<\u001b[0m\u001b[1;95mcell.length_b\u001b[0m\u001b[1m>\u001b[0m. Allowed writable: \u001b[32m'fit_max'\u001b[0m, \u001b[32m'fit_min'\u001b[0m, \u001b[32m'free'\u001b[0m, \u001b[32m'uncertainty'\u001b[0m, \n",
- " \u001b[32m'value'\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "c.length_b.qwe = 'qwe'"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 33,
- "id": "f108a56d-775c-4d4e-aedf-ecc4ead28178",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Cannot modify read-only attribute \u001b[32m'description'\u001b[0m of \u001b[1m<\u001b[0m\u001b[1;95mcell.length_b\u001b[0m\u001b[1m>\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "c.length_b.description = 'desc'"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 34,
- "id": "382d6221-0074-4ec8-84a8-ec51e117420a",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Unknown attribute \u001b[32m'qwe'\u001b[0m of \u001b[1m<\u001b[0m\u001b[1;95mcell\u001b[0m\u001b[1m>\u001b[0m. Allowed writable: \u001b[32m'angle_alpha'\u001b[0m, \u001b[32m'angle_beta'\u001b[0m, \u001b[32m'angle_gamma'\u001b[0m, \u001b[32m'length_a'\u001b[0m, \n",
- " \u001b[32m'length_b'\u001b[0m, \u001b[32m'length_c'\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "c.qwe = 'qwe'"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 35,
- "id": "7bf7bac1-79ce-45df-a2a8-c4b090359292",
- "metadata": {},
- "outputs": [],
- "source": [
- "sg = SpaceGroup()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 36,
- "id": "5c30d269-5167-4598-ac57-66715673d9b0",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Value mismatch for \u001b[1m<\u001b[0m\u001b[1;95mname_h_m\u001b[0m\u001b[1m>\u001b[0m. Provided \u001b[32m'qwe'\u001b[0m is unknown. \u001b[1m(\u001b[0m\u001b[1;36m230\u001b[0m allowed values not listed here\u001b[1m)\u001b[0m. Using default \n",
- " \u001b[32m'P 1'\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "sg = SpaceGroup(name_h_m='qwe')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 37,
- "id": "c99fcf63-9536-4ea6-a30a-96367bb4aacb",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Value mismatch for \u001b[1m<\u001b[0m\u001b[1;95mname_h_m\u001b[0m\u001b[1m>\u001b[0m. Provided \u001b[32m'P n m'\u001b[0m is unknown. \u001b[1m(\u001b[0m\u001b[1;36m230\u001b[0m allowed values not listed here\u001b[1m)\u001b[0m. Using default\n",
- " \u001b[32m'P 1'\u001b[0m. \n",
- "\u001b[33mWARNING \u001b[0m Value mismatch for \u001b[1m<\u001b[0m\u001b[1;95mit_coordinate_system_code\u001b[0m\u001b[1m>\u001b[0m. Provided \u001b[32m'cab'\u001b[0m is unknown. Allowed values: \u001b[32m''\u001b[0m. Using default \n",
- " \u001b[32m''\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "sg = SpaceGroup(name_h_m='P n m', it_coordinate_system_code='cab')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 38,
- "id": "c2d7509e-a49b-4c2b-aa45-76a97de0761e",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Value mismatch for \u001b[1m<\u001b[0m\u001b[1;95mit_coordinate_system_code\u001b[0m\u001b[1m>\u001b[0m. Provided \u001b[32m'cabd'\u001b[0m is unknown. Allowed values: \u001b[32m'-cba'\u001b[0m, \u001b[32m'a-cb'\u001b[0m, \n",
- " \u001b[32m'abc'\u001b[0m, \u001b[32m'ba-c'\u001b[0m, \u001b[32m'bca'\u001b[0m, \u001b[32m'cab'\u001b[0m. Using default \u001b[32m'abc'\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "sg = SpaceGroup(name_h_m='P n m a', it_coordinate_system_code='cabd')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 39,
- "id": "07db2ef2-58f3-4b46-8223-a2067254db51",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[33mWARNING \u001b[0m Type mismatch for \u001b[1m<\u001b[0m\u001b[1;95mspace_group.name_h_m\u001b[0m\u001b[1m>\u001b[0m. Expected `string`, got `float` \u001b[1m(\u001b[0m\u001b[1;36m34.9\u001b[0m\u001b[1m)\u001b[0m. Keeping current \u001b[32m'P n m a'\u001b[0m. \n"
- ]
- }
- ],
- "source": [
- "sg.name_h_m = 34.9"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "6934d72d-01a7-41e3-8684-5a1c6106e933",
- "metadata": {},
- "outputs": [],
- "source": [
- "sg.name_h_m = 'P 1'"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "a8a152ec-5a11-4c38-bca4-7a4230218f34",
- "metadata": {},
- "outputs": [],
- "source": [
- "sg.name_h_m = 'P n m a'"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "6626a960-6390-4e76-8f27-dc2cebbdd123",
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "cb299acb-0920-43f3-be25-c432544e1198",
- "metadata": {},
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python (Pixi)",
- "language": "python",
- "name": "pixi-kernel-python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.13.7"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 5
-}
diff --git a/tmp/unsorted/Untitled1.ipynb b/tmp/unsorted/Untitled1.ipynb
deleted file mode 100644
index 6ebdcb979..000000000
--- a/tmp/unsorted/Untitled1.ipynb
+++ /dev/null
@@ -1,149 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "code",
- "execution_count": 1,
- "id": "e7e00e10-ee5c-48cb-87f0-a34f8162a39d",
- "metadata": {},
- "outputs": [],
- "source": [
- "from easydiffraction import SampleModelFactory"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "id": "8aadcc06-0b34-40ea-a921-b326d2aa83e1",
- "metadata": {},
- "outputs": [],
- "source": [
- "from easydiffraction.utils.logging import Logger\n",
- "\n",
- "Logger.configure(\n",
- " level=Logger.Level.WARNING,\n",
- " mode=Logger.Mode.VERBOSE,\n",
- " reaction=Logger.Reaction.WARN,\n",
- ")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "id": "26c42a06-7efc-468a-9c57-640447900d83",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮\n",
- "│ in <module>:1 │\n",
- "│ │\n",
- "│ ❱ 1 model = SampleModelFactory.create(name='name', cif_path='path') │\n",
- "│ 2 │\n",
- "│ │\n",
- "│ /Users/andrewsazonov/Development/github.com/easyscience/diffraction-lib/src/easydiffraction/samp │\n",
- "│ le_models/sample_model/factory.py:28 in create │\n",
- "│ │\n",
- "│ 25 │ │ \"\"\" │\n",
- "│ 26 │ │ # Check for valid argument combinations │\n",
- "│ 27 │ │ user_args = {k for k, v in kwargs.items() if v is not None} │\n",
- "│ ❱ 28 │ │ cls._validate_args(user_args, cls._ALLOWED_ARG_SPECS, cls.__name__) │\n",
- "│ 29 │ │ │\n",
- "│ 30 │ │ if 'cif_path' in kwargs: │\n",
- "│ 31 │ │ │ return cls._create_from_cif_path(kwargs['cif_path']) │\n",
- "│ │\n",
- "│ /Users/andrewsazonov/Development/github.com/easyscience/diffraction-lib/src/easydiffraction/core │\n",
- "│ /factory.py:29 in _validate_args │\n",
- "│ │\n",
- "│ 26 │ │ │ │ combos.append(f'({req}[, {opt}])') │\n",
- "│ 27 │ │ │ else: │\n",
- "│ 28 │ │ │ │ combos.append(f'({req})') │\n",
- "│ ❱ 29 │ │ raise ValueError( │\n",
- "│ 30 │ │ │ f'Invalid argument combination for {factory_name} creation.\\n' │\n",
- "│ 31 │ │ │ f'Provided: {sorted(present)}\\n' │\n",
- "│ 32 │ │ │ f'Allowed combinations:\\n ' + '\\n '.join(combos) │\n",
- "╰──────────────────────────────────────────────────────────────────────────────────────────────────╯\n",
- "ValueError: Invalid argument combination for SampleModelFactory creation.\n",
- "Provided: ['cif_path', 'name']\n",
- "Allowed combinations:\n",
- " (name)\n",
- " (cif_path)\n",
- " (cif_str)\n",
- "\n"
- ],
- "text/plain": [
- "\u001b[31m╭─\u001b[0m\u001b[31m──────────────────────────────\u001b[0m\u001b[31m \u001b[0m\u001b[1;31mTraceback \u001b[0m\u001b[1;2;31m(most recent call last)\u001b[0m\u001b[31m \u001b[0m\u001b[31m───────────────────────────────\u001b[0m\u001b[31m─╮\u001b[0m\n",
- "\u001b[31m│\u001b[0m in :1 \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m1 model = \u001b[1;4mSampleModelFactory.create(name=\u001b[0m\u001b[1;4;33m'\u001b[0m\u001b[1;4;33mname\u001b[0m\u001b[1;4;33m'\u001b[0m\u001b[1;4m, cif_path=\u001b[0m\u001b[1;4;33m'\u001b[0m\u001b[1;4;33mpath\u001b[0m\u001b[1;4;33m'\u001b[0m\u001b[1;4m)\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m2 \u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m/Users/andrewsazonov/Development/github.com/easyscience/diffraction-lib/src/easydiffraction/samp\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2mle_models/sample_model/\u001b[0m\u001b[1mfactory.py\u001b[0m:28 in create \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m 25 \u001b[0m\u001b[2;33m│ │ \u001b[0m\u001b[33m\"\"\"\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m 26 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[2m# Check for valid argument combinations\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m 27 \u001b[0m\u001b[2m│ │ \u001b[0muser_args = {k \u001b[94mfor\u001b[0m k, v \u001b[95min\u001b[0m kwargs.items() \u001b[94mif\u001b[0m v \u001b[95mis\u001b[0m \u001b[95mnot\u001b[0m \u001b[94mNone\u001b[0m} \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m 28 \u001b[2m│ │ \u001b[0m\u001b[1;4;96mcls\u001b[0m\u001b[1;4m._validate_args(user_args, \u001b[0m\u001b[1;4;96mcls\u001b[0m\u001b[1;4m._ALLOWED_ARG_SPECS, \u001b[0m\u001b[1;4;96mcls\u001b[0m\u001b[1;4m.\u001b[0m\u001b[1;4;91m__name__\u001b[0m\u001b[1;4m)\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m 29 \u001b[0m\u001b[2m│ │ \u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m 30 \u001b[0m\u001b[2m│ │ \u001b[0m\u001b[94mif\u001b[0m \u001b[33m'\u001b[0m\u001b[33mcif_path\u001b[0m\u001b[33m'\u001b[0m \u001b[95min\u001b[0m kwargs: \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m 31 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[94mreturn\u001b[0m \u001b[96mcls\u001b[0m._create_from_cif_path(kwargs[\u001b[33m'\u001b[0m\u001b[33mcif_path\u001b[0m\u001b[33m'\u001b[0m]) \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m/Users/andrewsazonov/Development/github.com/easyscience/diffraction-lib/src/easydiffraction/core\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m/\u001b[0m\u001b[1mfactory.py\u001b[0m:29 in _validate_args \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m26 \u001b[0m\u001b[2m│ │ │ │ \u001b[0mcombos.append(\u001b[33mf\u001b[0m\u001b[33m'\u001b[0m\u001b[33m(\u001b[0m\u001b[33m{\u001b[0mreq\u001b[33m}\u001b[0m\u001b[33m[, \u001b[0m\u001b[33m{\u001b[0mopt\u001b[33m}\u001b[0m\u001b[33m])\u001b[0m\u001b[33m'\u001b[0m) \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m27 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[94melse\u001b[0m: \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m28 \u001b[0m\u001b[2m│ │ │ │ \u001b[0mcombos.append(\u001b[33mf\u001b[0m\u001b[33m'\u001b[0m\u001b[33m(\u001b[0m\u001b[33m{\u001b[0mreq\u001b[33m}\u001b[0m\u001b[33m)\u001b[0m\u001b[33m'\u001b[0m) \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[31m❱ \u001b[0m29 \u001b[2m│ │ \u001b[0m\u001b[1;4;94mraise\u001b[0m\u001b[1;4m \u001b[0m\u001b[1;4;96mValueError\u001b[0m\u001b[1;4m(\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m30 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[1;4;33mf\u001b[0m\u001b[1;4;33m'\u001b[0m\u001b[1;4;33mInvalid argument combination for \u001b[0m\u001b[1;4;33m{\u001b[0m\u001b[1;4mfactory_name\u001b[0m\u001b[1;4;33m}\u001b[0m\u001b[1;4;33m creation.\u001b[0m\u001b[1;4;33m\\n\u001b[0m\u001b[1;4;33m'\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m31 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[1;4;33mf\u001b[0m\u001b[1;4;33m'\u001b[0m\u001b[1;4;33mProvided: \u001b[0m\u001b[1;4;33m{\u001b[0m\u001b[1;4;96msorted\u001b[0m\u001b[1;4m(present)\u001b[0m\u001b[1;4;33m}\u001b[0m\u001b[1;4;33m\\n\u001b[0m\u001b[1;4;33m'\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m│\u001b[0m \u001b[2m32 \u001b[0m\u001b[2m│ │ │ \u001b[0m\u001b[1;4;33mf\u001b[0m\u001b[1;4;33m'\u001b[0m\u001b[1;4;33mAllowed combinations:\u001b[0m\u001b[1;4;33m\\n\u001b[0m\u001b[1;4;33m \u001b[0m\u001b[1;4;33m'\u001b[0m\u001b[1;4m + \u001b[0m\u001b[1;4;33m'\u001b[0m\u001b[1;4;33m\\n\u001b[0m\u001b[1;4;33m \u001b[0m\u001b[1;4;33m'\u001b[0m\u001b[1;4m.join(combos)\u001b[0m \u001b[31m│\u001b[0m\n",
- "\u001b[31m╰──────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n",
- "\u001b[1;91mValueError: \u001b[0mInvalid argument combination for SampleModelFactory creation.\n",
- "Provided: \u001b[1m[\u001b[0m\u001b[32m'cif_path'\u001b[0m, \u001b[32m'name'\u001b[0m\u001b[1m]\u001b[0m\n",
- "Allowed combinations:\n",
- " \u001b[1m(\u001b[0mname\u001b[1m)\u001b[0m\n",
- " \u001b[1m(\u001b[0mcif_path\u001b[1m)\u001b[0m\n",
- " \u001b[1m(\u001b[0mcif_str\u001b[1m)\u001b[0m\n"
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "model = SampleModelFactory.create(name='name', cif_path='path')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "d6b0cec6-220d-476b-b918-b66e8322a3e9",
- "metadata": {},
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python (Pixi)",
- "language": "python",
- "name": "pixi-kernel-python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.13.7"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 5
-}
diff --git a/tmp/unsorted/Untitled2.ipynb b/tmp/unsorted/Untitled2.ipynb
deleted file mode 100644
index 363fcab7e..000000000
--- a/tmp/unsorted/Untitled2.ipynb
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "cells": [],
- "metadata": {},
- "nbformat": 4,
- "nbformat_minor": 5
-}
diff --git a/tmp/unsorted/__validator.py b/tmp/unsorted/__validator.py
deleted file mode 100644
index 359ecd1a0..000000000
--- a/tmp/unsorted/__validator.py
+++ /dev/null
@@ -1,87 +0,0 @@
-# %%
-import easydiffraction as ed
-import numpy as np
-
-# %%
-project = ed.Project()
-
-#
-
-project.experiments.add_from_data_path(name='aaa', data_path=23)
-
-exit()
-
-# %%
-model_path = ed.download_data(id=1, destination='data')
-project.structures.add_from_cif_path(cif_path=model_path)
-
-#project.structures.add_from_scratch(name='qwe')
-#project.structures['qwe'] = 6
-#print(project.structures['qwe'].name.value)
-#struct = project.structures['qwe']
-#struct.cell = "cell"
-#print(struct.cell)
-
-#exit()
-
-
-
-# %%
-expt_path = ed.download_data(id=2, destination='data')
-project.experiments.add_from_cif_path(cif_path=expt_path)
-#project.experiments.add_from_cif_path(cif_path=77)
-
-#expt = ed.ExperimentFactory.from_scratch(name='expt', scattering_type='total2')
-#print(expt)
-exit()
-
-print('\nStructure:')
-print(project.structures['lbco'])
-
-print('\nExperiment:')
-print(project.experiments['hrpt'])
-
-
-exit()
-
-
-
-# %%
-#sample = project.sample_models.get(id=1)
-#sample = project.sample_models.get(name='Fe2O3')
-sample = project.sample_models['lbco']
-
-# %%
-print()
-print("=== Testing cell.length_a ===")
-sample.cell.length_a = 3
-print(sample.cell.length_a, type(sample.cell.length_a.value))
-sample.cell.length_a = np.int64(4)
-print(sample.cell.length_a, type(sample.cell.length_a.value))
-sample.cell.length_a = np.float64(5.5)
-print(sample.cell.length_a, type(sample.cell.length_a.value))
-###sample.cell.length_a = "6.0"
-###sample.cell.length_a = -7.0
-###sample.cell.length_a = None
-print(sample.cell.length_a, type(sample.cell.length_a.value))
-
-# %%
-print()
-print("=== Testing space_group ===")
-sample.space_group.name_h_m = 'P n m a'
-print(sample.space_group.name_h_m)
-print(sample.space_group.it_coordinate_system_code)
-###sample.space_group.name_h_m = 'P x y z'
-print(sample.space_group.name_h_m)
-###sample.space_group.name_h_m = 4500
-print(sample.space_group.name_h_m)
-sample.space_group.it_coordinate_system_code = 'cab'
-print(sample.space_group.it_coordinate_system_code)
-
-# %%
-print()
-print("=== Testing atom_sites ===")
-sample.atom_sites.add(label2='O5', type_symbol='O')
-
-# %%
-sample.show_as_cif()
\ No newline at end of file
diff --git a/tmp/unsorted/_gemmi.py b/tmp/unsorted/_gemmi.py
deleted file mode 100644
index 6c488dddc..000000000
--- a/tmp/unsorted/_gemmi.py
+++ /dev/null
@@ -1,613 +0,0 @@
-#from easydiffraction.utils.logging import Logger
-#Logger.configure(
-# level=Logger.Level.INFO,
-# mode=Logger.Mode.VERBOSE,
-# reaction=Logger.Reaction.WARN,
-#)
-
-import time
-import gemmi
-import numpy as np
-import scipp as sc
-
-doc = gemmi.cif.read_file("data/hrpt.cif")
-block = doc.sole_block()
-
-t0 = time.perf_counter()
-col1 = block.find_loop('_pd_meas.2theta_scan')
-t1 = time.perf_counter()
-print("find_loop:", t1 - t0, "s")
-
-t0 = time.perf_counter()
-col2 = block.find_values('_pd_meas.2theta_scan')
-t1 = time.perf_counter()
-print("find_values:", t1 - t0, "s")
-
-t0 = time.perf_counter()
-l = list(col2)
-t1 = time.perf_counter()
-print("list(col2):", t1 - t0, "s")
-
-t0 = time.perf_counter()
-loop = col2.get_loop()
-t1 = time.perf_counter()
-print("col2.get_loop():", t1 - t0, "s")
-
-
-t0 = time.perf_counter()
-loop = col2.get_loop() # or block.find_loop(...)
-vals = loop.values # flat list of strings
-t1 = time.perf_counter()
-print("vars:", t1 - t0, "s")
-
-t0 = time.perf_counter()
-nrow = loop.length()
-ncol = loop.width()
-t1 = time.perf_counter()
-print("size:", t1 - t0, "s")
-
-
-
-# Convert all to float and reshape
-t0 = time.perf_counter()
-arr = np.fromiter((float(v) for v in vals),
- dtype=np.float64,
- count=nrow*ncol).reshape(nrow, ncol)
-t1 = time.perf_counter()
-print("np.fromiter:", t1 - t0, "s")
-
-t0 = time.perf_counter()
-np_arr = np.array(loop.values, dtype=np.float64).reshape(loop.length(), loop.width())
-t1 = time.perf_counter()
-print("np.array.reshape:", t1 - t0, "s")
-
-print('np_arr:', np_arr)
-
-t0 = time.perf_counter()
-arr = np.array(loop.values, dtype=np.float64).reshape(loop.length(), loop.width()).T
-t1 = time.perf_counter()
-print("np.array.reshape.T:", t1 - t0, "s")
-
-print('arr:', arr)
-
-t0 = time.perf_counter()
-data = {tag: arr[i] for i, tag in enumerate(loop.tags)}
-t1 = time.perf_counter()
-print("make data:", t1 - t0, "s")
-
-#print('data:', data)
-print('data._pd_meas.2theta_scan:', data['_pd_meas.2theta_scan'])
-print('data._pd_meas.intensity_total:', data['_pd_meas.intensity_total'])
-print('data._pd_meas.intensity_total_su:', data['_pd_meas.intensity_total_su'])
-
-print(arr.size, arr[0].size)
-
-ncol = arr.shape[0]
-nrow = arr.shape[1]
-
-t0 = time.perf_counter()
-collection = []
-for i in range(nrow):
- item = {}
- for j in range(ncol):
- item[loop.tags[j]] = arr[j, i]
- collection.append(item)
-t1 = time.perf_counter()
-print("- make collection:", t1 - t0, "s")
-print(' collection[1]:', collection[1])
-
-from easydiffraction.experiments.categories.data.bragg_pd import PdCwlData, PdCwlDataPoint
-
-
-t0 = time.perf_counter()
-collection = []
-for i in range(nrow):
- item = PdCwlDataPoint()
- collection.append(item)
-t1 = time.perf_counter()
-print("- init multiple PdCwlDataPoint:", t1 - t0, "s")
-print(' collection[1]:', collection[1])
-
-
-
-
-# Insert test code here
-
-# Test smart collection approach
-from easydiffraction.experiments.categories.data.smart_pd import SmartPdCwlData
-
-# Test 1: Smart collection with pre-allocated arrays
-t0 = time.perf_counter()
-smart_collection = SmartPdCwlData()
-smart_collection.add_from_arrays(
- two_theta=arr[0],
- intensity_meas=arr[1],
- intensity_meas_su=arr[2]
-)
-t1 = time.perf_counter()
-print("- make smart collection (bulk):", t1 - t0, "s")
-print(' collection[1]:', smart_collection[1])
-print(' collection[2].intensity_meas:', smart_collection[2].intensity_meas.value)
-print(' collection[3].intensity_meas:', smart_collection.intensity_meas.values[3])
-
-# Test 2: Smart collection with individual item creation (should be slower but still faster than original)
-t0 = time.perf_counter()
-smart_collection2 = SmartPdCwlData()
-for i in range(nrow):
- point = smart_collection2.add_point()
- point.two_theta.value = arr[0, i]
- point.intensity_meas.value = arr[1, i]
- point.intensity_meas_su.value = arr[2, i]
-t1 = time.perf_counter()
-print("- make smart collection (individual):", t1 - t0, "s")
-print(' collection[1]:', smart_collection2[1])
-
-# Test 3: Array-style bulk assignment
-t0 = time.perf_counter()
-smart_collection3 = SmartPdCwlData(nrow)
-smart_collection3.two_theta.values[:] = arr[0]
-smart_collection3.intensity_meas.values[:] = arr[1]
-smart_collection3.intensity_meas_su.values[:] = arr[2]
-t1 = time.perf_counter()
-print("- make smart collection (array assignment):", t1 - t0, "s")
-print(' collection[1]:', smart_collection3[1])
-
-
-# Test Smart Atom Sites with LBCO CIF data
-print("\n=== Smart Atom Sites Test ===")
-
-import gemmi
-from easydiffraction.sample_models.categories.smart_atom_sites import SmartAtomSites
-from easydiffraction.sample_models.categories.atom_sites import AtomSites, AtomSite
-from easydiffraction.core.validation import DataTypes
-
-# Add enhanced CIF methods to existing SmartAtomSites for testing
-def add_from_cif_arrays_method(self, cif_data, validate_all=True):
- """Enhanced method to add atoms from CIF data with automatic type conversion."""
- if not cif_data:
- return
-
- # Build CIF name → internal attribute mapping
- descriptor_map = {}
- for attr_name in dir(type(self)):
- if not attr_name.startswith('_'):
- attr = getattr(type(self), attr_name, None)
- if hasattr(attr, 'cif_handler') and hasattr(attr, 'value_spec'):
- for cif_full_name in attr.cif_handler.names:
- cif_field = cif_full_name.replace('_atom_site.', '')
- descriptor_map[cif_field] = {
- 'attr_name': attr_name,
- 'descriptor': attr
- }
-
- converted_data = {}
-
- for cif_name, string_values in cif_data.items():
- internal_attr = descriptor_map.get(cif_name)
- if internal_attr:
- attr_name = internal_attr['attr_name']
- descriptor = internal_attr['descriptor']
-
- # Convert types based on descriptor.value_spec.type_
- converted_values = []
- for value_str in string_values:
- try:
- if descriptor.value_spec.type_ == DataTypes.NUMERIC:
- if value_str in ['.', '?']:
- converted_value = descriptor.value_spec.default
- else:
- clean_val = value_str.split('(')[0] if '(' in value_str else value_str
- converted_value = float(clean_val)
- elif descriptor.value_spec.type_ == DataTypes.STRING:
- converted_value = value_str.strip("'\"")
- else:
- converted_value = value_str
-
- # Apply validation if available
- if validate_all and descriptor.value_spec.content_validator:
- try:
- converted_value = descriptor.value_spec.content_validator.validate(converted_value)
- except Exception:
- converted_value = descriptor.value_spec.default
-
- converted_values.append(converted_value)
- except ValueError:
- converted_values.append(descriptor.value_spec.default)
-
- converted_data[attr_name] = converted_values
- print(f"✓ CIF '{cif_name}' → '{attr_name}' ({descriptor.value_spec.type_}) | First: {converted_values[0]} ({type(converted_values[0])})")
- else:
- print(f"⚠️ No CIF handler for: '{cif_name}' - skipping")
-
- # Use existing add_from_arrays with converted data
- self.add_from_arrays(**converted_data)
- print(f"✅ Successfully imported {len(converted_data)} attributes for {len(list(converted_data.values())[0])} atoms")
-
-# Monkey patch the method for testing
-SmartAtomSites.add_from_cif_arrays = add_from_cif_arrays_method
-
-# Load LBCO CIF data
-cif_path = "data/lbco.cif"
-try:
- doc = gemmi.cif.read(cif_path)
- block = doc.sole_block()
-
- # Find atom site data
- atom_loop = None
- for item in block:
- if hasattr(item, 'loop') and item.loop:
- tags = item.loop.tags
- if any('atom_site' in tag for tag in tags):
- atom_loop = item.loop
- break
-
- if atom_loop:
- nrows = len(atom_loop.values) // len(atom_loop.tags)
- print(f"Found {nrows} atom sites in CIF")
-
- # Extract data arrays using your optimal approach
- atom_data = {}
- for i, tag in enumerate(atom_loop.tags):
- values = [atom_loop.values[j * len(atom_loop.tags) + i] for j in range(nrows)]
-
- # Clean up tag name
- clean_tag = tag.replace('_atom_site.', '')
- atom_data[clean_tag] = values
-
- print(f"Available CIF data: {list(atom_data.keys())}")
- print(f"Raw data types (all strings): {[(k, type(v[0])) for k, v in atom_data.items()]}")
-
- # Test 1: Enhanced Smart collection with automatic type conversion
- print(f"\n=== Enhanced CIF Integration Test ===")
- t0_smart = time.perf_counter()
- smart_atoms = SmartAtomSites()
- smart_atoms.add_from_cif_arrays(atom_data, validate_all=True)
- t1_smart = time.perf_counter()
- smart_time = t1_smart - t0_smart
- print(f"- Enhanced smart atoms creation: {smart_time:.6f}s")
- print(f" smart_atoms['La']: {smart_atoms['La']}")
-
- # Test that types are now correct
- print(f"\n=== Type Verification ===")
- la_atom = smart_atoms['La']
- print(f"La fract_x: {la_atom.fract_x.value} (type: {type(la_atom.fract_x.value)})")
- print(f"La type_symbol: {la_atom.type_symbol.value} (type: {type(la_atom.type_symbol.value)})")
- print(f"La occupancy: {la_atom.occupancy.value} (type: {type(la_atom.occupancy.value)})")
-
- # Convert numeric data manually for comparison (old way)
- print(f"\n=== Comparison with Manual Conversion ===")
- manual_atom_data = atom_data.copy()
- for key in ['fract_x', 'fract_y', 'fract_z', 'occupancy', 'B_iso_or_equiv']:
- if key in manual_atom_data:
- manual_atom_data[key] = [float(v) for v in manual_atom_data[key]]
-
- # Map CIF names to our internal names (old way)
- if 'B_iso_or_equiv' in manual_atom_data:
- manual_atom_data['b_iso'] = manual_atom_data.pop('B_iso_or_equiv')
- if 'ADP_type' in manual_atom_data:
- manual_atom_data['adp_type'] = manual_atom_data.pop('ADP_type')
- if 'Wyckoff_letter' in manual_atom_data:
- manual_atom_data['wyckoff_letter'] = manual_atom_data.pop('Wyckoff_letter')
-
- # Test 1: Smart collection bulk creation (old manual way)
- t0_manual = time.perf_counter()
- manual_atoms = SmartAtomSites()
- manual_atoms.add_from_arrays(**manual_atom_data)
- t1_manual = time.perf_counter()
- manual_time = t1_manual - t0_manual
- print(f"- Manual conversion atoms creation: {manual_time:.6f}s")
- print(f" manual_atoms['La']: {manual_atoms['La']}")
-
- # Test 2: Original collection for comparison
- t0_original = time.perf_counter()
- original_atoms = AtomSites()
- for i, label in enumerate(manual_atom_data['label']):
- atom = AtomSite(
- label=label,
- type_symbol=manual_atom_data['type_symbol'][i],
- fract_x=manual_atom_data['fract_x'][i],
- fract_y=manual_atom_data['fract_y'][i],
- fract_z=manual_atom_data['fract_z'][i],
- occupancy=manual_atom_data['occupancy'][i],
- b_iso=manual_atom_data['b_iso'][i],
- adp_type=manual_atom_data['adp_type'][i],
- wyckoff_letter=manual_atom_data['wyckoff_letter'][i]
- )
- original_atoms.add(atom)
- t1_original = time.perf_counter()
- original_time = t1_original - t0_original
- print(f"- original atoms creation: {original_time:.6f}s")
- print(f" original_atoms['La']: {original_atoms['La']}")
-
- # Performance comparison
- speedup_vs_original = original_time / smart_time if smart_time > 0 else float('inf')
- speedup_vs_manual = manual_time / smart_time if smart_time > 0 else float('inf')
- print(f"\n=== Performance Summary ===")
- print(f"Enhanced smart atoms: {smart_time*1000:.3f}ms")
- print(f"Manual conversion: {manual_time*1000:.3f}ms")
- print(f"Original atoms: {original_time*1000:.3f}ms")
- print(f"Speedup vs original: {speedup_vs_original:.1f}x")
- print(f"Speedup vs manual: {speedup_vs_manual:.1f}x")
-
- # Test 3: API Compatibility with enhanced atoms
- print(f"\n=== API Tests (Enhanced CIF Integration) ===")
- print(f"Current API - smart_atoms['La'].fract_x.value = {smart_atoms['La'].fract_x.value}")
-
- # Test modification with current API
- smart_atoms['La'].fract_x.value = 0.1234
- print(f"After modification - smart_atoms['La'].fract_x.value = {smart_atoms['La'].fract_x.value}")
-
- # Test 4: New Array API
- print(f"New API - smart_atoms.fract_x['La'] = {smart_atoms.fract_x['La']}")
-
- # Test modification with new API
- smart_atoms.fract_x['La'] = 0.5678
- print(f"After array modification - smart_atoms.fract_x['La'] = {smart_atoms.fract_x['La']}")
- print(f"Verify with individual API - smart_atoms['La'].fract_x.value = {smart_atoms['La'].fract_x.value}")
-
- # Test validation with converted types
- print(f"\n=== Validation Testing (Enhanced CIF) ===")
-
- # Test 1: Negative B-factor (should fail)
- try:
- smart_atoms['Ba'].b_iso = -10.0
- print(f"❌ ERROR: Negative B-factor should have failed")
- except Exception as e:
- print(f"✅ Validation correctly caught negative B-factor: {type(e).__name__}")
-
- # Test 2: Valid assignment should work with proper types
- try:
- smart_atoms['Ba'].b_iso = 1.5 # Valid B-factor
- print(f"✅ Valid B-factor assignment: {smart_atoms['Ba'].b_iso.value} (type: {type(smart_atoms['Ba'].b_iso.value)})")
-
- smart_atoms.occupancy['Ba'] = 0.8 # Valid occupancy
- print(f"✅ Valid occupancy assignment: {smart_atoms.occupancy['Ba']} (type: {type(smart_atoms.occupancy['Ba'])})")
- except Exception as e:
- print(f"❌ Valid assignment failed: {e}")
-
- else:
- print("No atom site loop found in CIF")
-
-except Exception as e:
- print(f"Error reading CIF: {e}")
- # Create synthetic test data
- print("\n=== Synthetic Atom Sites Test ===")
-
- # Create test data
- test_labels = ['La', 'Ba', 'Co', 'O1', 'O2']
- test_symbols = ['La', 'Ba', 'Co', 'O', 'O']
- test_x = [0.0, 0.0, 0.5, 0.0, 0.5]
- test_y = [0.0, 0.0, 0.5, 0.5, 0.0]
- test_z = [0.0, 0.0, 0.5, 0.5, 0.5]
- test_occ = [0.5, 0.5, 1.0, 1.0, 1.0]
- test_biso = [0.5, 0.5, 0.5, 0.5, 0.5]
-
- t0 = time.perf_counter()
- smart_atoms = SmartAtomSites()
- smart_atoms.add_from_arrays(
- label=test_labels,
- type_symbol=test_symbols,
- fract_x=test_x,
- fract_y=test_y,
- fract_z=test_z,
- occupancy=test_occ,
- b_iso=test_biso,
- adp_type=['Biso'] * len(test_labels),
- wyckoff_letter=['a', 'a', 'b', 'c', 'c']
- )
- t1 = time.perf_counter()
- print(f"- synthetic smart atoms: {t1 - t0:.6f}s")
- print(f" smart_atoms['La']: {smart_atoms['La']}")
-
- # Test both APIs
- print(f"Current API: smart_atoms['La'].fract_x.value = {smart_atoms['La'].fract_x.value}")
- print(f"New API: smart_atoms.fract_x['La'] = {smart_atoms.fract_x['La']}")
-
-
-exit()
-
-
-t0 = time.perf_counter()
-collection = []
-for i in range(nrow):
- item = object.__new__(PdCwlDataPoint)
- collection.append(item)
-t1 = time.perf_counter()
-print("- object.__new__ multiple PdCwlDataPoint:", t1 - t0, "s")
-print(' collection[1]:', collection[1])
-
-
-
-t0 = time.perf_counter()
-collection = []
-for i in range(nrow):
- item = PdCwlDataPoint()
- #item._two_theta = arr[0, i]
- #item._intensity_meas = arr[1, i]
- #collection.append(item)
-t1 = time.perf_counter()
-print("make PdCwlDataPoint collection:", t1 - t0, "s")
-
-exit()
-
-t0 = time.perf_counter()
-collection = []
-for i in range(nrow):
- item = PdCwlDataPoint()
- item.two_theta.value = arr[0, i]
- item.intensity_meas.value = arr[1, i]
- item.intensity_bkg.value = arr[2, i]
- collection.append(item)
-t1 = time.perf_counter()
-print("make PdCwlDataPoint.value collection:", t1 - t0, "s")
-
-t0 = time.perf_counter()
-collection = []
-for i in range(nrow):
- item = PdCwlDataPoint()
- item.two_theta._value = arr[0, i]
- item.intensity_meas._value = arr[1, i]
- collection.append(item)
-t1 = time.perf_counter()
-print("make PdCwlDataPoint._value collection:", t1 - t0, "s")
-
-
-t0 = time.perf_counter()
-for i in range(nrow):
- item = PdCwlDataPoint()
-t1 = time.perf_counter()
-print("init multiple PdCwlDataPoint:", t1 - t0, "s")
-
-
-t0 = time.perf_counter()
-for i in range(nrow):
- item = object.__new__(PdCwlDataPoint)
-t1 = time.perf_counter()
-print("object.__new__ multiple PdCwlDataPoint:", t1 - t0, "s")
-
-from easydiffraction.core.parameters import NumericDescriptor, GenericDescriptorBase
-from easydiffraction.core.validation import AttributeSpec
-from easydiffraction.core.validation import DataTypes
-from easydiffraction.core.validation import RangeValidator
-from easydiffraction.io.cif.handler import CifHandler
-
-t0 = time.perf_counter()
-for i in range(nrow):
- for _ in range(4):
- p = NumericDescriptor(
- name='p', description='...',
- value_spec=AttributeSpec(
- type_=DataTypes.NUMERIC,
- default=0.0,
- content_validator=RangeValidator(ge=0),
- ),
- cif_handler=CifHandler(names=['_pd_proc.d_spacing']),
- )
-t1 = time.perf_counter()
-print("init multiple NumericDescriptor:", t1 - t0, "s")
-
-
-
-t0 = time.perf_counter()
-collection = []
-for i in range(nrow):
- item = PdCwlDataPoint()
- item.two_theta.value = arr[0, i]
- item.intensity_meas.value = arr[1, i]
- item.intensity_bkg.value = arr[2, i]
- collection.append(item)
-t1 = time.perf_counter()
-print("make PdCwlDataPoint.value collection:", t1 - t0, "s")
-
-
-t0 = time.perf_counter()
-collection = []
-for i in range(nrow):
- item = PdCwlDataPoint()
- for param in item.parameters:
- param.value = arr[0, i]
- collection.append(item)
-t1 = time.perf_counter()
-print("make PdCwlDataPoint.value collection 2:", t1 - t0, "s")
-
-
-t0 = time.perf_counter()
-collection = []
-for i in range(nrow):
- item = PdCwlDataPoint()
- for param in item.parameters:
- for name in param._cif_handler.names:
- if name in data.keys():
- param.value = data[name][i]
- break
- collection.append(item)
-t1 = time.perf_counter()
-print("make PdCwlDataPoint.value collection 3:", t1 - t0, "s")
-print(collection[0])
-print(collection[1])
-print(collection[2])
-
-
-
-t0 = time.perf_counter()
-collection = PdCwlData()
-for i in range(nrow):
- item = PdCwlDataPoint()
- for param in item.parameters:
- for name in param._cif_handler.names:
- if name in data.keys():
- param.value = data[name][i]
- break
- collection.add(item)
-t1 = time.perf_counter()
-print("make PdCwlDataPoint.value collection X:", t1 - t0, "s")
-print(collection)
-
-
-t0 = time.perf_counter()
-collection = PdCwlData()
-for i in range(nrow):
- item = PdCwlDataPoint()
- for param in item.parameters:
- for name in param._cif_handler.names:
- if name in data.keys():
- param.value = data[name][i]
- break
- collection._items.append(item)
-t1 = time.perf_counter()
-print("make PdCwlDataPoint.value collection Y:", t1 - t0, "s")
-print(collection)
-
-
-
-t0 = time.perf_counter()
-collection = PdCwlData()
-for i in range(nrow):
- item = PdCwlDataPoint()
- for param in item.parameters:
- for name in param._cif_handler.names:
- if name in data.keys():
- param.value = data[name][i]
- break
- collection._items.append(item)
-
-
-t1 = time.perf_counter()
-print("make PdCwlDataPoint.value collection Y:", t1 - t0, "s")
-print(collection)
-
-
-exit()
-
-t0 = time.perf_counter()
-for i in range(nrow):
- for _ in range(4):
- p = GenericDescriptorBase(
- name='p', description='...',
- value_spec=AttributeSpec(
- type_=DataTypes.NUMERIC,
- default=0.0,
- content_validator=RangeValidator(ge=0),
- ),
- )
-t1 = time.perf_counter()
-print("init multiple GenericDescriptorBase:", t1 - t0, "s")
-
-
-exit()
-
-
-t0 = time.perf_counter()
-sc_arr = sc.array(dims=loop.tags, values=np_arr)
-t1 = time.perf_counter()
-print("sc.array:", t1 - t0, "s")
-
-print('sc_arr:', sc_arr)
-
-
-
-
-
-print(arr[:, 0])
-
-pass
\ No newline at end of file
diff --git a/tmp/unsorted/_read_cif.py b/tmp/unsorted/_read_cif.py
deleted file mode 100644
index 3e08bbfbe..000000000
--- a/tmp/unsorted/_read_cif.py
+++ /dev/null
@@ -1,184 +0,0 @@
-# %% [markdown]
-# # Structure Refinement: LBCO, HRPT
-#
-# This minimalistic example is designed to be as compact as possible for
-# a Rietveld refinement of a crystal structure using constant-wavelength
-# neutron powder diffraction data for La0.5Ba0.5CoO3 from HRPT at PSI.
-#
-# It does not contain any advanced features or options, and includes no
-# comments or explanations—these can be found in the other tutorials.
-# Default values are used for all parameters if not specified. Only
-# essential and self-explanatory code is provided.
-#
-# The example is intended for users who are already familiar with the
-# EasyDiffraction library and want to quickly get started with a simple
-# refinement. It is also useful for those who want to see what a
-# refinement might look like in code. For a more detailed explanation of
-# the code, please refer to the other tutorials.
-
-# %% [markdown]
-# ## Import Library
-
-# %%
-import easydiffraction as ed
-
-# %%
-from easydiffraction.utils.logging import Logger
-Logger.configure(
- level=Logger.Level.INFO,
- mode=Logger.Mode.VERBOSE,
- reaction=Logger.Reaction.WARN,
-)
-
-# %% [markdown]
-# ## Step 1: Define Project
-
-# %%
-project = ed.Project()
-
-# %% [markdown]
-# ## Step 2: Define Sample Model
-
-# %%
-#project.sample_models.add_from_cif_path("tmp/data/lbco.cif")
-project.sample_models.add(cif_path="tmp/data/lbco.cif")
-
-# %%
-project.sample_models.show_names()
-
-# %%
-# Create an alias for easier access
-lbco = project.sample_models['lbco']
-
-# %%
-#print('a')
-#print('lbco.cell.length_b.value', lbco.cell.length_b.value)
-#print('b')
-lbco.cell.length_a = 3.89
-#print('c')
-#print('lbco.cell.length_b.value', lbco.cell.length_b.value)
-#print('d')
-#print('lbco.cell.length_b.value', lbco.cell.length_b.value)
-#print('e')
-
-# %%
-lbco.show_as_cif()
-#exit()
-
-# %% [markdown]
-# ## Step 3: Define Experiment
-
-# %%
-#project.experiments.add_from_cif_path("tmp/data/hrpt.cif")
-project.experiments.add(cif_path="tmp/data/hrpt.cif")
-
-# %%
-project.experiments.show_names()
-
-# %%
-# Create an alias for easier access
-hrpt = project.experiments['hrpt']
-
-# %%
-hrpt.background['1'].y = 300
-
-# %%
-hrpt.show_as_cif()
-#exit()
-
-print('==')
-print('a', hrpt.background['1'].y.value)
-
-#exit()
-
-# %%
-print('hrpt.data.x', hrpt.data.x)
-print('hrpt.data.meas', hrpt.data.meas)
-print('hrpt.data.calc', hrpt.data.calc)
-
-###project.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)
-
-print('hrpt.data.calc', hrpt.data.calc)
-
-###hrpt.show_as_cif()
-
-print('hrpt.data.meas[3]', hrpt.data.meas[3])
-print('hrpt.data["3"].intensity_meas', hrpt.data["3"].intensity_meas)
-print('hrpt.data["3"].intensity_meas', hrpt.data["3"].intensity_meas.value)
-
-print("hrpt.background['1'].y", hrpt.background['1'].y)
-print("hrpt.background['1'].y.value", hrpt.background['1'].y.value)
-print("hrpt.background['1'].y.free", hrpt.background['1'].y.free)
-
-
-#exit()
-# %%
-
-# %% [markdown]
-# ## Step 4: Perform Analysis
-
-
-# %%
-project.analysis.aliases.add(
- label='biso_La',
- param_uid=lbco.atom_sites['La'].b_iso.uid,
-)
-project.analysis.aliases.add(
- label='biso_Ba',
- param_uid=lbco.atom_sites['Ba'].b_iso.uid,
-)
-
-# %%
-project.analysis.constraints.add(
- lhs_alias='biso_Ba',
- rhs_expr='biso_La',
-)
-
-# %%
-#project.analysis.apply_constraints()
-
-# %%
-# Select sample model parameters to refine
-lbco.cell.length_a.free = True
-
-lbco.atom_sites['La'].b_iso.free = True
-lbco.atom_sites['Ba'].b_iso.free = True
-lbco.atom_sites['Co'].b_iso.free = True
-lbco.atom_sites['O'].b_iso.free = True
-#for atom_site in lbco.atom_sites:
-# atom_site.b_iso.free = True
-
-# %%
-# Select experiment parameters to refine
-hrpt.linked_phases['lbco'].scale.free = True
-
-hrpt.instrument.calib_twotheta_offset.free = True
-
-hrpt.peak.broad_gauss_u.free = True
-hrpt.peak.broad_gauss_v.free = True
-hrpt.peak.broad_gauss_w.free = True
-hrpt.peak.broad_lorentz_y.free = True
-
-#hrpt.background['1'].y.free = True
-##hrpt.background['2'].y.free = True
-#hrpt.background['3'].y.free = True
-#hrpt.background['4'].y.free = True
-#hrpt.background['5'].y.free = True
-for line_segment in hrpt.background:
- line_segment.y.free = True
-
-# %%
-project.analysis.display.free_params()
-
-# %%
-project.analysis.fit()
-
-# %%
-project.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)
-
-# %%
-#hrpt.show_as_cif()
-
-#print(lbco.cell)
-
-#hrpt.show_as_cif()
diff --git a/tmp/unsorted/_smart.py b/tmp/unsorted/_smart.py
deleted file mode 100644
index 3a18ca3b6..000000000
--- a/tmp/unsorted/_smart.py
+++ /dev/null
@@ -1,162 +0,0 @@
-# %%
-import sys
-sys.path.insert(0, '/Users/andrewsazonov/Development/github.com/easyscience/diffraction-lib/src')
-
-import gemmi
-import numpy as np
-import time
-import easydiffraction as ed
-from easydiffraction.sample_models.categories.smart_atom_sites_v3 import SmartAtomSites
-from easydiffraction.sample_models.categories.atom_sites import AtomSite, AtomSites
-from easydiffraction.core.validation import DataTypes
-
-# %%
-from easydiffraction.utils.logging import Logger
-Logger.configure(
- level=Logger.Level.INFO,
- mode=Logger.Mode.VERBOSE,
- reaction=Logger.Reaction.WARN,
-)
-
-# %%
-project = ed.Project()
-
-# %%
-print("\n=== Extract data with gemmi ===")
-t0 = time.perf_counter()
-doc = gemmi.cif.read_file("tmp/data/large_structure.cif")
-block = doc.sole_block()
-values = block.find_values('_atom_site.fract_x')
-loop = values.get_loop()
-array = np.array(loop.values, dtype=object).reshape(loop.length(), loop.width()).T
-data = {tag.split('.')[1]: array[i] for i, tag in enumerate(loop.tags)}
-t1 = time.perf_counter()
-print(f"Extracting time: {t1-t0:.4f}s")
-print("\nRaw CIF data (all strings):")
-for header, column in data.items():
- print(f" {header}: {column}")
-
-# %%
-print("\n=== Enhanced CIF Integration (V3) ===")
-t0 = time.perf_counter()
-atoms_enhanced = SmartAtomSites()
-atoms_enhanced.add_from_cif_arrays(data, validate_all=True)
-t1 = time.perf_counter()
-print(f"Enhanced approach time: {t1-t0:.4f}s")
-
-# %%
-print("\n=== Old CIF Integration ===")
-t0 = time.perf_counter()
-project.sample_models.add_from_cif_path("tmp/data/large_structure.cif")
-t1 = time.perf_counter()
-print(f"Old approach time: {t1-t0:.4f}s")
-print(project.sample_models['lbco'].atom_sites['La'].b_iso)
-print(project.sample_models['lbco'].atom_sites['Ba'].b_iso)
-#print(project.sample_models['lbco'].as_cif)
-
-print("\n=== Test _add_bulk_empty ===")
-t0 = time.perf_counter()
-atoms = AtomSites()
-atoms._add_bulk_empty(loop.length())
-t1 = time.perf_counter()
-print(f"_add_bulk_empty {loop.length()} items: {t1-t0:.4f}s")
-print(atoms)
-#print(atoms.as_cif)
-print(atoms['Si'].occupancy)
-atoms._items[1].occupancy = 0.555
-atoms._items[3].occupancy = 0.777
-atoms['Si'].occupancy = 0.333
-#print(atoms.as_cif)
-
-
-# %%
-print("\n=== Old init multiple AtomSite() ===")
-t0 = time.perf_counter()
-collection = []
-for i in range(loop.length()):
- item = AtomSite()
- collection.append(item)
-t1 = time.perf_counter()
-print(f"Init {loop.length()} multiple AtomSite(): {t1-t0:.4f}s")
-print('collection[1]:', collection[1])
-print('collection[2]:', collection[2])
-print('collection[3]:', collection[3])
-
-
-
-exit()
-
-
-# %%
-print("\nData type verification:")
-print(f"Enhanced Ba.fract_x: {atoms_enhanced['Ba'].fract_x.value} ({type(atoms_enhanced['Ba'].fract_x.value)})")
-print(f"Enhanced Ba.label: {atoms_enhanced['Ba'].label.value} ({type(atoms_enhanced['Ba'].label.value)})")
-print(f"Enhanced Ba.b_iso: {atoms_enhanced['Ba'].b_iso.value} ({type(atoms_enhanced['Ba'].b_iso.value)})")
-
-# Use enhanced atoms for remaining tests
-atoms = atoms_enhanced
-
-# %%
-print("=== Testing Enhanced Smart Feedback & Validation ===")
-print("atoms['Ba']", atoms['Ba'])
-print("atoms.b_iso", atoms.b_iso)
-
-print("atoms['Ba'].b_iso", atoms['Ba'].b_iso)
-print("atoms.b_iso['Ba']", atoms.b_iso['Ba'])
-
-print("\n=== Testing Valid Assignments ===")
-atoms['Ba'].b_iso = 0.777
-print("atoms.b_iso['Ba'] after valid assignment:", atoms.b_iso['Ba'])
-
-print("\n=== Testing Invalid Assignment (should fail with validation) ===")
-atoms['Ba'].b_iso = -0.333
-print("atoms.b_iso['Ba'] after invalid assignment:", atoms.b_iso['Ba'])
-
-atoms.b_iso['Ba'] = 0.444
-print("atoms.b_iso['Ba'] after array assignment:", atoms.b_iso['Ba'])
-
-print("\n=== Testing Invalid Array Assignment ===")
-atoms.b_iso['Ba'] = -0.666
-
-print("\n=== Testing Smart Feedback (Typo Detection) ===")
-# Test typo in atom label
-#value = atoms['Baa'].fract_x.value # typo: 'Baa' instead of 'Ba'
-
-# Test typo in attribute name
-#value = atoms['Ba'].frac_x.value # typo: 'frac_x' instead of 'fract_x'
-
-# Test typo in array access
-#value = atoms.frac_x['Ba'] # typo: 'frac_x' instead of 'fract_x'
-
-print("\n=== Enhanced CIF Integration V3 Complete ✅ ===")
-print(f"✅ CIF handlers properly configured")
-print(f"✅ Automatic type conversion working")
-print(f"✅ Smart feedback and typo detection working")
-print(f"✅ Validation integrated with type conversion")
-print(f"✅ Both individual and array APIs working")
-
-
-
-atoms_enhanced2 = SmartAtomSites()
-atoms_enhanced2.add_from_cif_arrays(data, validate_all=True)
-
-atoms_enhanced['Ba'].b_iso = 0.333
-atoms_enhanced2['Ba'].b_iso = 0.444
-
-print('\nAAAA')
-
-print("atoms_enhanced['Ba'].b_iso.value", atoms_enhanced['Ba'].b_iso.value)
-print("atoms_enhanced2['Ba'].b_iso.value", atoms_enhanced2['Ba'].b_iso.value)
-print("atoms_enhanced['Ba'].b_iso.free", atoms_enhanced['Ba'].b_iso.free)
-print("atoms_enhanced2['Ba'].b_iso.free", atoms_enhanced2['Ba'].b_iso.free)
-
-atoms_enhanced['Ba'].b_iso.value = 0.666
-atoms_enhanced2['Ba'].b_iso.value = 0.888
-atoms_enhanced['Ba'].b_iso.free = True
-
-print('\nBBBB')
-
-print("atoms_enhanced['Ba'].b_iso", atoms_enhanced['Ba'].b_iso.value)
-print("atoms_enhanced2['Ba'].b_iso", atoms_enhanced2['Ba'].b_iso.value)
-print("atoms_enhanced['Ba'].b_iso.free", atoms_enhanced['Ba'].b_iso.free)
-print("atoms_enhanced2['Ba'].b_iso.free", atoms_enhanced2['Ba'].b_iso.free)
diff --git a/tmp/unsorted/basic_single-fit_pd-neut-cwl_LBCO-HRPT.py b/tmp/unsorted/basic_single-fit_pd-neut-cwl_LBCO-HRPT.py
deleted file mode 100644
index 05e82bc9a..000000000
--- a/tmp/unsorted/basic_single-fit_pd-neut-cwl_LBCO-HRPT.py
+++ /dev/null
@@ -1,736 +0,0 @@
-# %% [markdown]
-# # Structure Refinement: LBCO, HRPT
-#
-# This example demonstrates how to use the EasyDiffraction API in a
-# simplified, user-friendly manner that closely follows the GUI workflow
-# for a Rietveld refinement of La0.5Ba0.5CoO3 crystal structure using
-# constant wavelength neutron powder diffraction data from HRPT at PSI.
-#
-# It is intended for users with minimal programming experience who want
-# to learn how to perform standard crystal structure fitting using
-# diffraction data. This script covers creating a project, adding sample
-# models and experiments, performing analysis, and refining parameters.
-#
-# Only a single import of `easydiffraction` is required, and all
-# operations are performed through high-level components of the
-# `project` object, such as `project.sample_models`,
-# `project.experiments`, and `project.analysis`. The `project` object is
-# the main container for all information.
-
-# %% [markdown]
-# ## Import Library
-
-# %%
-# %%
-import os
-
-import easydiffraction as ed
-from easydiffraction.utils.logging import console
-from easydiffraction.utils.logging import log
-
-# %%
-print(os.getenv('TERM_PROGRAM'))
-
-# %%
-# !echo $TERM_PROGRAM
-
-# %%
-
-# Logger.configure(
-# level=Logger.Level.DEBUG,
-# mode=Logger.Mode.VERBOSE,
-# reaction=Logger.Reaction.WARN,
-# )
-
-
-console.print('Initializing logger 1a', '111', 'Initializing logger 1b')
-log.debug('Initializing logger 2a', '222', 'Initializing logger 2b')
-log.info('Initializing logger INFO')
-log.warning('Initializing logger WARNING')
-log.debug('a')
-# log.error("Initializing logger ERROR")
-log.debug('b')
-# log.critical("Initializing logger CRITICAL")
-console.chapter('Chapter: Initializing logger 7')
-console.section('Section: Initializing logger 8')
-console.paragraph('Paragraph: Initializing logger 9')
-console.print('aaa')
-# exit()
-
-
-# %% [markdown]
-# ## Step 1: Create a Project
-#
-# This section explains how to create a project and define its metadata.
-
-# %% [markdown]
-# #### Create Project
-
-# %%
-project = ed.Project(name='lbco_hrpt')
-
-# %% [markdown]
-# #### Set Project Metadata
-
-# %%
-project.info.title = 'La0.5Ba0.5CoO3 at HRPT@PSI'
-project.info.description = """This project demonstrates a standard
-refinement of La0.5Ba0.5CoO3, which crystallizes in a perovskite-type
-structure, using neutron powder diffraction data collected in constant
-wavelength mode at the HRPT diffractometer (PSI)."""
-
-# %% [markdown]
-# #### Show Project Metadata as CIF
-
-# %%
-project.info.show_as_cif()
-
-# %% [markdown]
-# #### Save Project
-#
-# When saving the project for the first time, you need to specify the
-# directory path. In the example below, the project is saved to a
-# temporary location defined by the system.
-
-# %%
-project.save_as(dir_path='lbco_hrpt', temporary=True)
-
-# %% [markdown]
-# #### Set Up Data Plotter
-
-# %% [markdown]
-# Show supported plotting engines.
-
-# %%
-project.plotter.show_supported_engines()
-
-# %% [markdown]
-# Show current plotting configuration.
-
-# %%
-project.plotter.show_config()
-
-# %% [markdown]
-# Set plotting engine.
-
-# %%
-# project.plotter.engine = 'plotly'
-
-# %%
-project.tabler.show_config()
-project.tabler.show_supported_engines()
-#project.tabler.engine = 'rich'
-
-# %% [markdown]
-# ## Step 2: Define Sample Model
-#
-# This section shows how to add sample models and modify their
-# parameters.
-
-# %% [markdown]
-# #### Add Sample Model
-
-# %%
-project.sample_models.add_minimal(name='lbco')
-
-# %% [markdown]
-# #### Show Defined Sample Models
-#
-# Show the names of the models added. These names are used to access the
-# model using the syntax: `project.sample_models['model_name']`. All
-# model parameters can be accessed via the `project` object.
-
-# %%
-project.sample_models.show_names()
-
-# %% [markdown]
-# #### Set Space Group
-#
-# Modify the default space group parameters.
-
-# %%
-project.sample_models['lbco'].space_group.name_h_m = 'P m -3 m'
-project.sample_models['lbco'].space_group.it_coordinate_system_code = '1'
-
-# %% [markdown]
-# #### Set Unit Cell
-#
-# Modify the default unit cell parameters.
-
-# %%
-project.sample_models['lbco'].cell.length_a = 3.88
-
-# %% [markdown]
-# #### Set Atom Sites
-#
-# Add atom sites to the sample model.
-
-# %%
-project.sample_models['lbco'].atom_sites.add_from_args(
- label='La',
- type_symbol='La',
- fract_x=0,
- fract_y=0,
- fract_z=0,
- wyckoff_letter='a',
- b_iso=0.5,
- occupancy=0.5,
-)
-project.sample_models['lbco'].atom_sites.add_from_args(
- label='Ba',
- type_symbol='Ba',
- fract_x=0,
- fract_y=0,
- fract_z=0,
- wyckoff_letter='a',
- b_iso=0.5,
- occupancy=0.5,
-)
-project.sample_models['lbco'].atom_sites.add_from_args(
- label='Co',
- type_symbol='Co',
- fract_x=0.5,
- fract_y=0.5,
- fract_z=0.5,
- wyckoff_letter='b',
- b_iso=0.5,
-)
-project.sample_models['lbco'].atom_sites.add_from_args(
- label='O',
- type_symbol='O',
- fract_x=0,
- fract_y=0.5,
- fract_z=0.5,
- wyckoff_letter='c',
- b_iso=0.5,
-)
-
-# %% [markdown]
-# #### Apply Symmetry Constraints
-
-# %%
-project.sample_models['lbco'].apply_symmetry_constraints()
-
-# %% [markdown]
-# #### Show Sample Model as CIF
-
-# %%
-project.sample_models['lbco'].show_as_cif()
-
-# %% [markdown]
-# #### Show Sample Model Structure
-
-# %%
-project.sample_models['lbco'].show_structure()
-
-# %% [markdown]
-# #### Save Project State
-#
-# Save the project state after adding the sample model. This ensures
-# that all changes are stored and can be accessed later. The project
-# state is saved in the directory specified during project creation.
-
-# %%
-project.save()
-
-# %% [markdown]
-# ## Step 3: Define Experiment
-#
-# This section shows how to add experiments, configure their parameters,
-# and link the sample models defined in the previous step.
-
-# %% [markdown]
-# #### Download Measured Data
-#
-# Download the data file from the EasyDiffraction repository on GitHub.
-
-# %%
-ed.download_from_repository('hrpt_lbco.xye', destination='data')
-
-# %% [markdown]
-# #### Add Diffraction Experiment
-
-# %%
-project.experiments.add_from_data_path(
- name='hrpt',
- data_path='data/hrpt_lbco.xye',
- sample_form='powder',
- beam_mode='constant wavelength',
- radiation_probe='neutron',
-)
-
-# %% [markdown]
-# #### Show Defined Experiments
-
-# %%
-project.experiments.show_names()
-
-# %% [markdown]
-# #### Show Measured Data
-
-# %%
-project.plot_meas(expt_name='hrpt')
-
-# %% [markdown]
-# #### Set Instrument
-#
-# Modify the default instrument parameters.
-
-# %%
-project.experiments['hrpt'].instrument.setup_wavelength = 1.494
-project.experiments['hrpt'].instrument.calib_twotheta_offset = 0.6
-
-# %% [markdown]
-# #### Set Peak Profile
-#
-# Show supported peak profile types.
-
-# %%
-project.experiments['hrpt'].show_supported_peak_profile_types()
-
-# %% [markdown]
-# Show the current peak profile type.
-
-# %%
-project.experiments['hrpt'].show_current_peak_profile_type()
-
-# %% [markdown]
-# Select the desired peak profile type.
-
-# %%
-project.experiments['hrpt'].peak_profile_type = 'pseudo-voigt'
-
-# %% [markdown]
-# Modify default peak profile parameters.
-
-# %%
-project.experiments['hrpt'].peak.broad_gauss_u = 0.1
-project.experiments['hrpt'].peak.broad_gauss_v = -0.1
-project.experiments['hrpt'].peak.broad_gauss_w = 0.1
-project.experiments['hrpt'].peak.broad_lorentz_x = 0
-project.experiments['hrpt'].peak.broad_lorentz_y = 0.1
-
-# %% [markdown]
-# #### Set Background
-
-# %% [markdown]
-# Show supported background types.
-
-# %%
-project.experiments['hrpt'].show_supported_background_types()
-
-# %% [markdown]
-# Show current background type.
-
-# %%
-project.experiments['hrpt'].show_current_background_type()
-
-# %% [markdown]
-# Select the desired background type.
-
-# %%
-project.experiments['hrpt'].background_type = 'line-segment'
-
-# %% [markdown]
-# Add background points.
-
-# %%
-project.experiments['hrpt'].background.add_from_args(x=10, y=170)
-project.experiments['hrpt'].background.add_from_args(x=30, y=170)
-project.experiments['hrpt'].background.add_from_args(x=50, y=170)
-project.experiments['hrpt'].background.add_from_args(x=110, y=170)
-project.experiments['hrpt'].background.add_from_args(x=165, y=170)
-
-# %% [markdown]
-# Show current background points.
-
-# %%
-project.experiments['hrpt'].background.show()
-
-# %% [markdown]
-# #### Set Linked Phases
-#
-# Link the sample model defined in the previous step to the experiment.
-
-# %%
-project.experiments['hrpt'].linked_phases.add_from_args(id='lbco', scale=10.0)
-
-# %% [markdown]
-# #### Show Experiment as CIF
-
-# %%
-project.experiments['hrpt'].show_as_cif()
-
-# %% [markdown]
-# #### Save Project State
-
-# %%
-project.save()
-
-# %% [markdown]
-# ## Step 4: Perform Analysis
-#
-# This section explains the analysis process, including how to set up
-# calculation and fitting engines.
-#
-# #### Set Calculator
-#
-# Show supported calculation engines for this experiment.
-
-# %%
-project.experiments['hrpt'].show_supported_calculator_types()
-
-# %% [markdown]
-# Show current calculation engine for this experiment.
-
-# %%
-project.experiments['hrpt'].show_current_calculator_type()
-
-# %% [markdown]
-# Select the desired calculation engine.
-
-# %%
-project.experiments['hrpt'].calculator_type = 'cryspy'
-
-# %% [markdown]
-# #### Show Calculated Data
-
-# %%
-project.plot_calc(expt_name='hrpt')
-
-# %% [markdown]
-# #### Plot Measured vs Calculated
-
-# %%
-project.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)
-
-# %%
-project.plot_meas_vs_calc(expt_name='hrpt', x_min=38, x_max=41, show_residual=True)
-
-# %% [markdown]
-# #### Show Parameters
-#
-# Show all parameters of the project.
-
-# %%
-project.analysis.display.all_params()
-
-# %% [markdown]
-# Show all fittable parameters.
-
-# %%
-project.analysis.display.fittable_params()
-
-# %% [markdown]
-# Show only free parameters.
-
-# %%
-project.analysis.display.free_params()
-
-# %% [markdown]
-# Show how to access parameters in the code.
-
-# %%
-project.analysis.display.how_to_access_parameters()
-
-# %% [markdown]
-# #### Set Fit Mode
-
-# %%
-project.analysis.fit_mode.mode = 'single'
-
-# %% [markdown]
-# #### Set Minimizer
-#
-# Show supported fitting engines.
-
-# %%
-project.analysis.show_available_minimizers()
-
-# %% [markdown]
-# Show current fitting engine.
-
-# %%
-project.analysis.show_current_minimizer()
-
-# %% [markdown]
-# Select desired fitting engine.
-
-# %%
-project.analysis.current_minimizer = 'lmfit (leastsq)'
-
-# %% [markdown]
-# ### Perform Fit 1/5
-#
-# Set sample model parameters to be refined.
-
-# %%
-project.sample_models['lbco'].cell.length_a.free = True
-
-# %% [markdown]
-# Set experiment parameters to be refined.
-
-# %%
-project.experiments['hrpt'].linked_phases['lbco'].scale.free = True
-project.experiments['hrpt'].instrument.calib_twotheta_offset.free = True
-project.experiments['hrpt'].background['10'].y.free = True
-project.experiments['hrpt'].background['30'].y.free = True
-project.experiments['hrpt'].background['50'].y.free = True
-project.experiments['hrpt'].background['110'].y.free = True
-project.experiments['hrpt'].background['165'].y.free = True
-
-# %% [markdown]
-# Show free parameters after selection.
-
-# %%
-project.analysis.display.free_params()
-
-# %% [markdown]
-# #### Run Fitting
-
-# %%
-project.tabler.engine = 'rich'
-project.sample_models['lbco'].cell.length_a = 3.88
-project.analysis.fit()
-
-# %% [markdown]
-# #### Plot Measured vs Calculated
-
-# %%
-project.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)
-
-# %%
-project.plot_meas_vs_calc(expt_name='hrpt', x_min=38, x_max=41, show_residual=True)
-
-# %% [markdown]
-# #### Save Project State
-
-# %%
-project.save_as(dir_path='lbco_hrpt', temporary=True)
-
-# %% [markdown]
-# ### Perform Fit 2/5
-#
-# Set more parameters to be refined.
-
-# %%
-project.experiments['hrpt'].peak.broad_gauss_u.free = True
-project.experiments['hrpt'].peak.broad_gauss_v.free = True
-project.experiments['hrpt'].peak.broad_gauss_w.free = True
-project.experiments['hrpt'].peak.broad_lorentz_y.free = True
-
-# %% [markdown]
-# Show free parameters after selection.
-
-# %%
-project.analysis.display.free_params()
-
-# %% [markdown]
-# #### Run Fitting
-
-# %%
-project.analysis.fit()
-
-# %% [markdown]
-# #### Plot Measured vs Calculated
-
-# %%
-project.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)
-
-# %%
-project.plot_meas_vs_calc(expt_name='hrpt', x_min=38, x_max=41, show_residual=True)
-
-# %% [markdown]
-# #### Save Project State
-
-# %%
-project.save_as(dir_path='lbco_hrpt', temporary=True)
-
-# %% [markdown]
-# ### Perform Fit 3/5
-#
-# Set more parameters to be refined.
-
-# %%
-project.sample_models['lbco'].atom_sites['La'].b_iso.free = True
-project.sample_models['lbco'].atom_sites['Ba'].b_iso.free = True
-project.sample_models['lbco'].atom_sites['Co'].b_iso.free = True
-project.sample_models['lbco'].atom_sites['O'].b_iso.free = True
-
-# %% [markdown]
-# Show free parameters after selection.
-
-# %%
-project.analysis.display.free_params()
-
-# %% [markdown]
-# #### Run Fitting
-
-# %%
-project.analysis.fit()
-
-# %% [markdown]
-# #### Plot Measured vs Calculated
-
-# %%
-project.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)
-
-# %%
-project.plot_meas_vs_calc(expt_name='hrpt', x_min=38, x_max=41, show_residual=True)
-
-# %% [markdown]
-# #### Save Project State
-
-# %%
-project.save_as(dir_path='lbco_hrpt', temporary=True)
-
-# %% [markdown]
-# ### Perform Fit 4/5
-#
-# #### Set Constraints
-#
-# Set aliases for parameters.
-
-# %%
-project.analysis.aliases.add_from_args(
- label='biso_La',
- param_uid=project.sample_models['lbco'].atom_sites['La'].b_iso.uid,
-)
-project.analysis.aliases.add_from_args(
- label='biso_Ba',
- param_uid=project.sample_models['lbco'].atom_sites['Ba'].b_iso.uid,
-)
-
-# %% [markdown]
-# Set constraints.
-
-# %%
-project.analysis.constraints.add_from_args(lhs_alias='biso_Ba', rhs_expr='biso_La')
-
-# %% [markdown]
-# Show defined constraints.
-
-# %%
-project.analysis.display.constraints()
-
-# %% [markdown]
-# Show free parameters before applying constraints.
-
-# %%
-project.analysis.display.free_params()
-
-# %% [markdown]
-# Apply constraints.
-
-# %%
-project.analysis.apply_constraints()
-
-# %% [markdown]
-# Show free parameters after applying constraints.
-
-# %%
-project.analysis.display.free_params()
-
-# %% [markdown]
-# #### Run Fitting
-
-# %%
-project.analysis.fit()
-
-# %% [markdown]
-# #### Plot Measured vs Calculated
-
-# %%
-project.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)
-
-# %%
-project.plot_meas_vs_calc(expt_name='hrpt', x_min=38, x_max=41, show_residual=True)
-
-# %% [markdown]
-# #### Save Project State
-
-# %%
-project.save_as(dir_path='lbco_hrpt', temporary=True)
-
-# %% [markdown]
-# ### Perform Fit 5/5
-#
-# #### Set Constraints
-#
-# Set more aliases for parameters.
-
-# %%
-project.analysis.aliases.add_from_args(
- label='occ_La',
- param_uid=project.sample_models['lbco'].atom_sites['La'].occupancy.uid,
-)
-project.analysis.aliases.add_from_args(
- label='occ_Ba',
- param_uid=project.sample_models['lbco'].atom_sites['Ba'].occupancy.uid,
-)
-
-# %% [markdown]
-# Set more constraints.
-
-# %%
-project.analysis.constraints.add_from_args(
- lhs_alias='occ_Ba',
- rhs_expr='1 - occ_La',
-)
-
-# %% [markdown]
-# Show defined constraints.
-
-# %%
-project.analysis.display.constraints()
-
-# %% [markdown]
-# Apply constraints.
-
-# %%
-project.analysis.apply_constraints()
-
-# %% [markdown]
-# Set sample model parameters to be refined.
-
-# %%
-project.sample_models['lbco'].atom_sites['La'].occupancy.free = True
-
-# %% [markdown]
-# Show free parameters after selection.
-
-# %%
-project.analysis.display.free_params()
-
-# %% [markdown]
-# #### Run Fitting
-
-# %%
-project.analysis.fit()
-
-# %% [markdown]
-# #### Plot Measured vs Calculated
-
-# %%
-project.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)
-
-# %%
-project.plot_meas_vs_calc(expt_name='hrpt', x_min=38, x_max=41, show_residual=True)
-
-# %% [markdown]
-# #### Save Project State
-
-# %%
-project.save_as(dir_path='lbco_hrpt', temporary=True)
-
-# %% [markdown]
-# ## Step 5: Summary
-#
-# This final section shows how to review the results of the analysis.
-
-# %% [markdown]
-# #### Show Project Summary
-
-
-# %%
-project.summary.show_report()
diff --git a/tmp/unsorted/cryst-struct_pd-neut-tof_multiphase-BSFTO-HRPT.py b/tmp/unsorted/cryst-struct_pd-neut-tof_multiphase-BSFTO-HRPT.py
deleted file mode 100644
index e7e6c1d62..000000000
--- a/tmp/unsorted/cryst-struct_pd-neut-tof_multiphase-BSFTO-HRPT.py
+++ /dev/null
@@ -1,269 +0,0 @@
-# %% [markdown]
-# # Structure Refinement: BSFTO, HRPT
-#
-# This example demonstrates a Rietveld refinement of Bi1−xSmxFe0.94Ti0.06O3
-# crystal and magnetic structure...
-
-# %% [markdown]
-# ## Import Library
-
-# %%
-from easydiffraction import Experiment
-from easydiffraction import Project
-from easydiffraction import SampleModel
-
-# %% [markdown]
-# ## Define Sample Models
-#
-# This section shows how to add sample models and modify their parameters.
-#
-# ### Create Sample Model 1: Orthorhombic phase
-
-# %%
-model_1 = SampleModel('ort')
-
-# %% [markdown]
-# #### Set Space Group
-
-# %%
-model_1.space_group.name_h_m = 'P b a m'
-model_1.space_group.it_coordinate_system_code = 'abc'
-
-# %% [markdown]
-# #### Set Unit Cell
-
-# %%
-model_1.cell.length_a = 5.588
-model_1.cell.length_b = 11.125
-model_1.cell.length_c = 7.876
-
-# %% [markdown]
-# #### Set Atom Sites
-
-# %%
-model_1.atom_sites.add('Bi1', 'Bi', 0.702, 0.114, 0, wyckoff_letter='g', b_iso=0.0, occupancy=0.88)
-model_1.atom_sites.add('Sm1', 'Sm', 0.702, 0.114, 0, wyckoff_letter='g', b_iso=0.0, occupancy=0.12)
-model_1.atom_sites.add('Bi2', 'Bi', 0.751, 0.132, 0.5, wyckoff_letter='h', b_iso=0.0, occupancy=0.88)
-model_1.atom_sites.add('Sm2', 'Sm', 0.751, 0.132, 0.5, wyckoff_letter='h', b_iso=0.0, occupancy=0.12)
-model_1.atom_sites.add('Fe', 'Fe', 0.236, 0.121, 0.259, wyckoff_letter='i', b_iso=0.0, occupancy=0.94)
-model_1.atom_sites.add('Ti', 'Ti', 0.236, 0.121, 0.259, wyckoff_letter='i', b_iso=0.0, occupancy=0.06)
-model_1.atom_sites.add('O1', 'O', 0.258, 0.151, 0, wyckoff_letter='g', b_iso=0.0, occupancy=1.0)
-model_1.atom_sites.add('O2', 'O', 0.316, 0.093, 0.5, wyckoff_letter='h', b_iso=0.0, occupancy=1.0)
-model_1.atom_sites.add('O3', 'O', 0.002, 0.258, 0.299, wyckoff_letter='i', b_iso=0.0, occupancy=1.0)
-model_1.atom_sites.add('O4', 'O', 0, 0.5, 0.264, wyckoff_letter='f', b_iso=0.0, occupancy=1.0)
-model_1.atom_sites.add('O5', 'O', 0, 0, 0.198, wyckoff_letter='e', b_iso=0.0, occupancy=1.0)
-
-# %% [markdown]
-# ### Create Sample Model 2: Rhombohedral phase
-
-# %%
-model_2 = SampleModel('rho')
-
-# %% [markdown]
-# #### Set Space Group
-
-# %%
-model_2.space_group.name_h_m = 'R 3 c'
-model_2.space_group.it_coordinate_system_code = 'h'
-
-# %% [markdown]
-# #### Set Unit Cell
-
-# %%
-model_2.cell.length_a = 5.568
-model_2.cell.length_c = 13.758
-
-# %% [markdown]
-# #### Set Atom Sites
-
-# %%
-model_2.atom_sites.add('Bi', 'Bi', 0, 0, 0, wyckoff_letter='a', b_iso=0.0, occupancy=0.88)
-model_2.atom_sites.add('Sm', 'Sm', 0, 0, 0, wyckoff_letter='a', b_iso=0.0, occupancy=0.12)
-model_2.atom_sites.add('Fe', 'Fe', 0, 0, 0.223, wyckoff_letter='a', b_iso=0.0, occupancy=0.94)
-model_2.atom_sites.add('Ti', 'Ti', 0, 0, 0.223, wyckoff_letter='a', b_iso=0.0, occupancy=0.06)
-model_2.atom_sites.add('O', 'O', 0.436, 0.022, 0.958, wyckoff_letter='b', b_iso=0.0, occupancy=1.0)
-
-# %% [markdown]
-# ## Define Experiment
-#
-# This section shows how to add experiments, configure their parameters,
-# and link the sample models defined in the previous step.
-#
-# #### Download Data
-
-# %%
-# download_from_repository('hrpt_n_Bi0p88Sm0p12Fe0p94Ti0p06O3_DW_V_9x8x52_1p49_HI.xye',
-# branch='develop',
-# destination='data')
-
-# %% [markdown]
-# #### Create Experiment
-
-# %%
-experiment = Experiment('hrpt',
- data_path='data/hrpt_n_Bi0p88Sm0p12Fe0p94Ti0p06O3_DW_V_9x8x52_1p49_HI.xye')
-
-# %% [markdown]
-# #### Set Instrument
-
-# %%
-experiment.instrument.setup_wavelength = 1.494
-experiment.instrument.calib_twotheta_offset = 0.14
-
-# %% [markdown]
-# #### Set Peak Profile
-
-# %%
-experiment.peak.broad_gauss_u = 0.7
-experiment.peak.broad_gauss_v = -0.41
-experiment.peak.broad_gauss_w = 0.18
-experiment.peak.broad_lorentz_x = 0
-experiment.peak.broad_lorentz_y = 0.21
-
-# %% [markdown]
-# #### Set Background
-
-# %% [markdown]
-# Select the background type.
-
-# %%
-experiment.background_type = 'line-segment'
-
-# %% [markdown]
-# Add background points.
-
-# %%
-experiment.background.add(x=10, y=865)
-experiment.background.add(x=30, y=888)
-experiment.background.add(x=50, y=893)
-experiment.background.add(x=110, y=874)
-experiment.background.add(x=165, y=702)
-
-# %% [markdown]
-# #### Set Linked Phases
-
-# %%
-experiment.linked_phases.add('ort', scale=0.07)
-experiment.linked_phases.add('rho', scale=0.21)
-
-# %% [markdown]
-# ## Define Project
-#
-# The project object is used to manage sample models, experiments, and analysis.
-#
-# #### Create Project
-
-# %%
-project = Project()
-
-# %% [markdown]
-# #### Set Plotting Engine
-
-# %%
-project.plotter.engine = 'plotly'
-
-# %% [markdown]
-# #### Add Sample Models
-
-# %%
-project.sample_models.add(model_1)
-project.sample_models.add(model_2)
-
-# %% [markdown]
-# #### Show Sample Models
-
-# %%
-project.sample_models.show_names()
-
-# %% [markdown]
-# #### Add Experiments
-
-# %%
-project.experiments.add(experiment)
-
-# %% [markdown]
-# #### Set Excluded Regions
-#
-# Show measured data as loaded from the file.
-
-# %%
-project.plot_meas(expt_name='hrpt')
-
-# %% [markdown]
-# Add excluded regions.
-
-# %%
-experiment.excluded_regions.add(start=0, end=10)
-experiment.excluded_regions.add(start=160, end=180)
-
-# %% [markdown]
-# Show excluded regions.
-
-# %%
-experiment.excluded_regions.show()
-
-# %% [markdown]
-# Show measured data after adding excluded regions.
-
-# %%
-project.plot_meas(expt_name='hrpt')
-
-# %% [markdown]
-# Show experiment as CIF.
-
-# %%
-project.experiments['hrpt'].show_as_cif()
-
-# %% [markdown]
-# ## Perform Analysis
-#
-# This section outlines the analysis process, including how to configure
-# calculation and fitting engines.
-#
-# #### Set Minimizer
-
-# %%
-project.analysis.current_minimizer = 'lmfit (leastsq)'
-
-# %% [markdown]
-# #### Set Fitting Parameters
-#
-# Set sample model parameters to be optimized.
-
-# %%
-# model_1.cell.length_a.free = True
-# model_1.atom_sites['Co'].b_iso.free = True
-# model_1.atom_sites['O'].b_iso.free = True
-
-# model_2.cell.length_a.free = True
-
-# %% [markdown]
-# Set experiment parameters to be optimized.
-
-# %%
-experiment.instrument.calib_twotheta_offset.free = True
-
-# %%
-experiment.peak.broad_gauss_u.free = True
-experiment.peak.broad_gauss_v.free = True
-experiment.peak.broad_gauss_w.free = True
-experiment.peak.broad_lorentz_y.free = True
-
-# %%
-experiment.linked_phases['ort'].scale.free = True
-experiment.linked_phases['rho'].scale.free = True
-
-for point in experiment.background:
- point.y.free = True
-
-# %% [markdown]
-# #### Perform Fit
-
-# %%
-project.analysis.fit()
-
-# %% [markdown]
-# #### Plot Measured vs Calculated
-
-# %%
-project.plot_meas_vs_calc(expt_name='hrpt')
diff --git a/tmp/unsorted/display.py b/tmp/unsorted/display.py
deleted file mode 100644
index 1fd08a686..000000000
--- a/tmp/unsorted/display.py
+++ /dev/null
@@ -1,413 +0,0 @@
-import sys, os
-sys.path.insert(0, "src")
-os.chdir("/Users/andrewsazonov/Development/github.com/EasyScience/diffraction-lib")
-import easydiffraction as ed
-
-project = ed.Project()
-
-print(project.tabler.engine)
-project.tabler.engine = 'pandas'
-project.tabler.engine = 'rich'
-project.tabler.engine = 'rich2'
-project.tabler.engine = 'pandas'
-
-project.tabler.show_supported_engines()
-
-project.tabler.engine = 'rich'
-project.tabler.engine = 'pandas'
-project.tabler.engine = 'rich2'
-project.tabler.engine = 'rich'
-
-project.tabler.show_supported_engines()
-
-
-
-# +
-import pyarrow as pa
-
-# Creating two tables to join
-left_table = pa.table({'key': [1, 2, 3], 'value_left': ['A', 'B', 'C']})
-right_table = pa.table({'key': [1, 2, 3], 'value_right': ['X', 'Y', 'Z']})
-
-# Performing an inner join on the 'key' column
-joined_table = left_table.join(right_table, keys='key')
-print(joined_table)
-# -
-
-
-
-# +
-import polars as pl
-import pandas as pd
-
-df = pl.DataFrame({
- "Name": ["Alice", "Bob", "Charlie"],
- "Age": [32, 28, 36],
- "City": ["London", "Paris", "New York"],
-}).to_pandas()
-
-alignments = ["left", "center", "right"]
-
-styles = [
- {"selector": "th", "props": [("border", "1px solid black"), ("text-align", "center")]},
- {"selector": "td", "props": [("border", "1px solid black")]},
-]
-
-styled = df.style.set_table_styles(styles).apply(
- lambda row: ["background-color: #f9f9f9" if row.name % 2 else "" for _ in row], axis=1
-)
-
-for col, align in zip(df.columns, alignments):
- styled = styled.set_properties(subset=[col], **{"text-align": align})
-
-styled # ✅ works in Jupyter, plain Pandas Styler
-
-# +
-from itables import options
-
-options.allow_html = True
-
-# +
-import polars as pl
-import pandas as pd
-
-df = pl.DataFrame({
- "Name": ["Alice", "Bob", "Charlie"],
- "Age": [32, 28, 36],
- "City": ["London", "Paris", "New York"],
-}).to_pandas()
-
-alignments = ["left", "center", "right"]
-
-styles = [
- {"selector": "th", "props": [("border", "1px solid black"), ("text-align", "center")]},
- {"selector": "td", "props": [("border", "1px solid black")]},
-]
-
-styled = df.style.set_table_styles(styles).apply(
- lambda row: ["background-color: #f9f9f9" if row.name % 2 else "" for _ in row], axis=1
-)
-
-for col, align in zip(df.columns, alignments):
- styled = styled.set_properties(subset=[col], **{"text-align": align})
-
-styled # ✅ works in Jupyter, plain Pandas Styler
-
-# +
-import pyarrow as pa
-import pandas as pd
-
-schema = pa.schema([
- pa.field("Name", pa.string(), metadata={"align": "left"}),
- pa.field("Age", pa.int32(), metadata={"align": "center"}),
- pa.field("City", pa.string(), metadata={"align": "right"}),
-])
-
-table = pa.Table.from_pydict(
- {"Name": ["Alice", "Bob", "Charlie"], "Age": [32, 28, 36], "City": ["London", "Paris", "New York"]},
- schema=schema
-)
-
-df = table.to_pandas()
-alignments = [field.metadata.get(b"align", b"left").decode() for field in schema]
-
-styled = df.style.apply(
- lambda row: ["background-color: #f2f2f2" if row.name % 2 else "" for _ in row], axis=1
-)
-
-for col, align in zip(df.columns, alignments):
- styled = styled.set_properties(subset=[col], **{"text-align": align})
-
-styled # ✅ works in Jupyter
-
-# +
-import pandas as pd
-import ipydatagrid as gd
-from IPython.display import display
-
-df = pd.DataFrame({
- "Name": ["Alice", "Bob", "Charlie"],
- "Age": [32, 28, 36],
- "City": ["London", "Paris", "New York"],
-})
-
-grid = gd.DataGrid(
- df,
- style={
- "header": {"font_weight": "bold", "text_align": "center", "background_color": "#ddd"},
- "row_even": {"background_color": "#f9f9f9"},
- "row_odd": {"background_color": "#ffffff"},
- "cell": {"border": "1px solid black"},
- "column_Name": {"text_align": "left"},
- "column_Age": {"text_align": "center"},
- "column_City": {"text_align": "right"},
- },
- auto_fit_columns=True,
-)
-
-display(grid) # ✅ force Jupyter to show the widget instead of repr
-
-# +
-import pandas as pd
-from itables import init_notebook_mode, show
-
-init_notebook_mode(all_interactive=True) # global setup
-
-df = pd.DataFrame({
- "Name": ["Alice", "Bob", "Charlie"],
- "Age": [32, 28, 36],
- "City": ["London", "Paris", "New York"],
-})
-
-alignments = ["left", "center", "right"]
-
-styled = df.style.apply(
- lambda row: ["background-color: red" if row.name % 2 else "" for _ in row], axis=1
-)
-
-for col, align in zip(df.columns, alignments):
- styled = styled.set_properties(subset=[col], **{"text-align": align})
-
-# ✅ must pass allow_html=True here
-show(styled, allow_html=True)
-
-# +
-from ipydatagrid import DataGrid
-from IPython.display import display
-import pandas as pd
-
-df = pd.DataFrame({
- "Name": ["Alice", "Bob", "Charlie"],
- "Age": [25, 30, 35],
- "Score": [85.5, 90.2, 88.8],
-})
-
-grid = DataGrid(df)
-display(grid) # <-- Should render interactive table if widgets are enabled
-
-# +
-import pandas as pd
-
-# Example dataframe
-df = pd.DataFrame({
- "Name": ["Alice", "Bob", "Charlie"],
- "Age": [25, 30, 35],
- "Score": [85.5, 90.2, 88.8],
- "_align": ["left", "center", "right"] # alignment metadata
-})
-
-# Exclude _align when displaying
-display(df.drop(columns="_align"))
-
-# Define a styler
-styled = (
- df.style
- .set_properties(**{
- "border": "1px solid grey",
- "border-collapse": "collapse",
- })
- .set_table_styles(
- [
- {"selector": "th", "props": [("text-align", "center"), ("background-color", "#f2f2f2")]},
- {"selector": "td", "props": [("padding", "4px 8px")]},
- ],
- overwrite=False,
- )
- .apply(lambda s: ["background-color: #f9f9f9" if i % 2 == 0 else "" for i in range(len(s))], axis=0)
-)
-
-# Apply column-specific alignment
-for col, a in align.items():
- styled = styled.set_properties(subset=[col], **{"text-align": a})
-
-display(styled)
-
-
-# +
-import pandas as pd
-
-# Build DataFrame with MultiIndex columns
-df = pd.DataFrame({
- ("Name", "left"): ["Alice", "Bob", "Charlie"],
- ("Age", "center"): [25, 3000, 35],
- ("Score", "right"): [85.5, 90.2, 88.8],
-})
-
-filtered_df = df[['Name', 'Age']]
-print(filtered_df)
-# -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# +
-import pandas as pd
-
-# Build DataFrame with MultiIndex columns
-df = pd.DataFrame({
- ("Name", "left"): ["Alice", "Bob", "Charlie"],
- ("Age", "center"): [25, 30, 35],
- ("Score", "right"): [85.5, 90.2, 88.8],
-})
-
-filtered =
-
-
-df.columns = pd.MultiIndex.from_tuples(df.columns, names=["#", "align"])
-
-# Extract alignments
-alignments = dict(zip(df.columns.get_level_values("#"),
- df.columns.get_level_values("align")))
-
-# Drop alignment level for display
-df_display = df.copy()
-#df_display.columns = df_display.columns.get_level_values("#")
-
-# Styler with alignment + number formatting
-def apply_alignment(styler, aligns):
- for col, align in aligns.items():
- styler = styler.set_properties(
- subset=[col],
- **{ "text-align": align }
- )
- return styler
-
-styled = apply_alignment(df_display.style, alignments).format(
- precision=2, # max 2 decimals
- na_rep="", # empty for NaN
-)
-
-
-html = styled.to_html(
- escape=False,
- index=False,
- #formatters=formatters,
- #border=0,
- #header=not skip_headers,
- )
-
-display(HTML(html))
-
-# +
-import pandas as pd
-
-# Create DataFrame with MultiIndex columns (name, alignment)
-df = pd.DataFrame(
- {
- ("#", "left"): [1, 2, 3],
- ("Name", "left"): ["Alice", "Bob", "Charlie"],
- ("Age", "center"): [25, 30, 35],
- ("Score", "right"): [85.5, 90.2, 88.8],
- }
-)
-
-# Extract alignments in a simple way
-alignments = {col: align for col, align in df.columns}
-
-# Drop MultiIndex for display (keep only column names)
-df.columns = [col for col, _ in df.columns]
-
-# Apply alignment via Styler
-styler = df.style.set_properties(**{
- "text-align": "center" # default
-})
-for col, align in alignments.items():
- styler = styler.set_properties(subset=[col], **{"text-align": align})
-
-# Hide the pandas default index
-styler = styler.hide(axis="index")
-
-# Optional: set precision for numeric formatting
-styler = styler.format(precision=1)
-
-styler
-
-# +
-import pandas as pd
-
-df = pd.DataFrame({
- "_align": ["center", "left", "left"], # alignment metadata
- "Name": ["Alice", "Bob", "Charlie"],
- "Age": [25, 30000, 35],
- "Score": [85.5, 90.2, 88.8],
-})
-
-# Exclude _align when displaying
-#display(df.drop(columns="_align"))
-
-# Use _align column when building Styler
-align = dict(zip(df.columns[:-1], df["_align"]))
-print(align.values())
-#styled = df.drop(columns="_align").style.set_properties(
-# **{f"text-align": v for v in align.values()}
-#)
-
-# Apply alignment via Styler
-styled = df.style.set_properties(**{
- "text-align": "center" # default
-})
-for col, align in alignments.items():
- styled = styler.set_properties(subset=[col], **{"text-align": align})
-
-html = styled.to_html(
- escape=False,
- index=False,
- #formatters=formatters,
- #border=0,
- #header=not skip_headers,
- )
-display(HTML(html))
-
-
-print(df.index)
-# -
-
-
-
-# +
-df = pd.DataFrame({
- "Name": ["Alice", "Bob", "Charlie"],
- "Age": [25, 30, 35],
- "Score": [85.5, 90.2, 88.8],
-})
-
-df.attrs["align"] = {"Name": "left", "Age": "center", "Score": "right"}
-
-# Retrieve later
-align = df.attrs.get("align", {})
-styled = df.style.set_properties(
- **{col: f"text-align: {a}" for col, a in align.items()}
-)
-html = styled.to_html(
- escape=False,
- index=False,
- #formatters=formatters,
- #border=0,
- #header=not skip_headers,
- )
-display(HTML(html))
-# -
-
-
diff --git a/tmp/unsorted/display2.py b/tmp/unsorted/display2.py
deleted file mode 100644
index 47a325a33..000000000
--- a/tmp/unsorted/display2.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import pandas as pd
-
-df = pd.DataFrame({
- "Name": ["Alice", "Bob", "Charlie"],
- "Age": [25, 30000, 35],
- "Score": [85.5, 90.2, 88.8],
-})
-
-df
-
-# Filtering
-df = df[['Name', 'Age']]
-
-alignments = ["left", "center", "right"]
-
-styles = [
- {"selector": "th", "props": [("border", "1px solid green"), ("text-align", "center")]},
- {"selector": "td", "props": [("border", "1px solid red")]},
-]
-
-styled = df.style.set_table_styles(styles)
-
-for col, align in zip(df.columns, alignments):
- styled = styled.set_properties(subset=[col], **{"text-align": align})
-
-styled
-
-
diff --git a/tmp/unsorted/display3-Copy1.py b/tmp/unsorted/display3-Copy1.py
deleted file mode 100644
index 0da4deace..000000000
--- a/tmp/unsorted/display3-Copy1.py
+++ /dev/null
@@ -1,45 +0,0 @@
-import pandas as pd
-
-df = pd.DataFrame({
- ("Name", "left"): ["Alice", "Bob", "Charlie"],
- ("Age", "center"): [25, 3000, 35],
- ("Score", "right"): [6585.5, 90.202, -558.8],
-})
-df
-
-# Filtering
-df = df[['Name', 'Score']]
-df
-
-# +
-# Table Model
-# -
-
-#import sys, os
-#sys.path.insert(0, "src")
-#os.chdir("/Users/andrewsazonov/Development/github.com/EasyScience/diffraction-lib")
-import easydiffraction as ed
-
-from easydiffraction.display.tables import TableRenderer
-
-
-tabler = TableRenderer()
-
-tabler.render(df)
-
-
-
-tabler.show_config()
-tabler.show_supported_engines()
-
-tabler.show_current_engine()
-
-tabler.engine = 'pandas'
-
-tabler.render(df)
-
-tabler.show_supported_engines()
-
-
-
-
diff --git a/tmp/unsorted/display3.py b/tmp/unsorted/display3.py
deleted file mode 100644
index de7eed37f..000000000
--- a/tmp/unsorted/display3.py
+++ /dev/null
@@ -1,173 +0,0 @@
-import pandas as pd
-
-FLOAT_PRECISION = 4
-
-df = pd.DataFrame({
- ("Name", "left"): ["Alice", "Bob", "Charlie"],
- ("Age", "center"): [25, 3000, 35],
- ("Score", "right"): [6585.5, 90.202, -558.8],
-})
-df
-
-# Filtering
-df = df[['Name', 'Age', 'Score']]
-
-# +
-# Table Model
-# -
-
-# Force starting index from 1
-df.index += 1
-
-
-# +
-def rich_to_hex(color):
- from rich.color import Color
- c = Color.parse(color)
- rgb = c.get_truecolor()
- hex_value = "#{:02x}{:02x}{:02x}".format(*rgb)
- return hex_value
-
-# Styling
-rich_dim_color_dark = "grey35"
-rich_dim_color_light = "grey85"
-pd_dim_color_dark = rich_to_hex(rich_dim_color_dark)
-pd_dim_color_light = rich_to_hex(rich_dim_color_light)
-
-# +
-from easydiffraction.utils._vendored.theme_detect import is_dark
-from IPython import get_ipython
-
-def is_dark_theme() -> bool:
- """Return 'dark' or 'light'.
- If not running inside Jupyter, return default."""
- default = True
-
- in_jupyter = get_ipython() is not None and \
- get_ipython().__class__.__name__ == "ZMQInteractiveShell"
-
- if not in_jupyter:
- return default
-
- return True if is_dark() else False
-
-
-rich_dim_color = rich_dim_color_dark if is_dark_theme() else rich_dim_color_light
-pd_dim_color = pd_dim_color_dark if is_dark_theme() else pd_dim_color_light
-print("is_dark", is_dark_theme())
-print("rich_dim_color", rich_dim_color)
-print("pd_dim_color", pd_dim_color)
-
-
-# +
-# Model View: Rich
-from rich.table import Table
-from rich.console import Console
-from rich.box import Box
-# box.SQUARE
-# ┌─┬┐ top
-# │ ││ head
-# ├─┼┤ head_row
-# │ ││ mid
-# ├─┼┤ foot_row
-# ├─┼┤ foot_row
-# │ ││ foot
-# └─┴┘ bottom
-custom_box = Box(
- """\
-┌──┐
-│ │
-├──┤
-│ │
-├──┤
-├──┤
-│ │
-└──┘
-""",
- ascii=False,
-)
-
-
-console = Console()
-table = Table(
- title=None,
- box=custom_box,
- show_header=True,
- header_style='bold',
- border_style=rich_dim_color,
-)
-
-# Add index column header first
-#table.add_column("#", justify="right")
-table.add_column(style=rich_dim_color)
-
-# Add other column headers with alignment from 2nd level
-for col, align in zip(df.columns.get_level_values(0), df.columns.get_level_values(1)):
- table.add_column(str(col), justify=align)
-
-# Define precision
-float_fmt = (f"{{:.{FLOAT_PRECISION}f}}").format
-
-# Add rows (prepend the index value as first column)
-for idx, row in df.iterrows():
- formatted_row = [
- float_fmt(val) if isinstance(val, float) else str(val)
- for val in row
- ]
- #table.add_row(str(idx), *map(str, row))
- table.add_row(str(idx), *formatted_row)
-
-console.print(table)
-# -
-
-# Extract column alignments
-alignments = df.columns.get_level_values(1)
-alignments
-
-# Remove alignments from df (Keep only the first index level)
-df.columns = df.columns.get_level_values(0)
-df
-
-# +
-styled = (
- df.style
- .set_table_styles(
- [
- # Outer border on the entire table
- {"selector": " ", "props": [
- ("border", f"1px solid {pd_dim_color}"),
- ("border-collapse", "collapse")
- ]},
-
- # Horizontal border under header row
- {"selector": "thead", "props": [
- ("border-bottom", f"1px solid {pd_dim_color}")
- ]},
-
- # Remove all cell borders
- {"selector": "th, td", "props": [
- ("border", "none")
- ]},
-
- # Style for index column
- {"selector": "th.row0, th.row1, th.row2, th.row_heading", "props": [
- ("color", pd_dim_color),
- ("font-weight", "normal")
- ]},
- ]
- )
- .format(precision=FLOAT_PRECISION)
-)
-
-styled
-# -
-# column alignment
-for col, align in zip(df.columns, alignments):
- styled = styled.set_properties(subset=[col], **{"text-align": align})
-styled
-
-
-
-
-
-
diff --git a/tmp/unsorted/generate_overview_mermaid.py b/tmp/unsorted/generate_overview_mermaid.py
deleted file mode 100644
index 67dce703e..000000000
--- a/tmp/unsorted/generate_overview_mermaid.py
+++ /dev/null
@@ -1,309 +0,0 @@
-# SPDX-FileCopyrightText: 2021-2025 EasyDiffraction contributors
-# SPDX-License-Identifier: BSD-3-Clause
-
-"""Generate an overview Mermaid class diagram dynamically from code.
-
-This script scans the source tree with Python's AST to discover:
- - Classes and their inheritance
- - Key composition relationships (via __init__ assignments or property
- return annotations)
- - Collection "contains" relationships for DatablockCollection
-
-It renders an overview Mermaid classDiagram that automatically adapts
-to project structure changes. Analysis internals are intentionally
-omitted; we only keep the top-level link from Project to Analysis.
-
-Output: docs/architecture/overview-diagram.md
-
-Run (from repo root):
- pixi run python tools/generate_overview_mermaid.py
-"""
-
-from __future__ import annotations
-
-import ast
-from dataclasses import dataclass
-from dataclasses import field
-from pathlib import Path
-from typing import Dict
-from typing import Iterable
-from typing import List
-from typing import Optional
-from typing import Set
-from typing import Tuple
-
-REPO_ROOT = Path(__file__).resolve().parents[1]
-SRC_ROOT = REPO_ROOT / 'src' / 'easydiffraction'
-DOCS_OUT_DIR = REPO_ROOT / 'docs' / 'architecture'
-OUT_MD = DOCS_OUT_DIR / 'overview-diagram.md'
-
-
-@dataclass
-class ClassInfo:
- name: str
- module: str # e.g., experiments/experiment_types/powder.py
- bases: List[str] # base class names (unqualified)
- category: Optional[str] = None # container | collection | baseclass | measurement | model
- compositions: Set[str] = field(default_factory=set) # composed-with class names
- contains: Set[str] = field(default_factory=set) # collection element types
-
-
-INCLUDE_FILES = [
- # Project and Summary
- SRC_ROOT / 'project' / 'project.py',
- SRC_ROOT / 'project' / 'project_info.py',
- SRC_ROOT / 'summary' / 'summary.py',
- SRC_ROOT / 'analysis' / 'analysis.py',
- # Sample models
- SRC_ROOT / 'sample_models' / 'sample_models.py',
- SRC_ROOT / 'sample_models' / 'sample_model.py',
- SRC_ROOT / 'sample_models' / 'sample_model_types' / 'base.py',
- # Experiments
- SRC_ROOT / 'experiments' / 'experiments.py',
- SRC_ROOT / 'experiments' / 'experiment.py',
- SRC_ROOT / 'experiments' / 'experiment_types' / 'base.py',
-]
-
-
-def iter_experiment_type_files() -> Iterable[Path]:
- expt_dir = SRC_ROOT / 'experiments' / 'experiment_types'
- if not expt_dir.exists():
- return []
- skip = {'__init__.py', 'base.py', 'enums.py', 'instrument_mixin.py'}
- for py in sorted(expt_dir.glob('*.py')):
- if py.name in skip:
- continue
- yield py
-
-
-def parse_file(py_path: Path) -> Optional[ast.Module]:
- try:
- src = py_path.read_text(encoding='utf-8')
- return ast.parse(src)
- except Exception:
- return None
-
-
-def name_from_node(n: ast.AST) -> Optional[str]:
- if isinstance(n, ast.Name):
- return n.id
- if isinstance(n, ast.Attribute):
- # Return attribute tail (unqualified)
- return n.attr
- return None
-
-
-def discover_classes() -> Dict[str, ClassInfo]:
- files = list(INCLUDE_FILES) + list(iter_experiment_type_files())
- classes: Dict[str, ClassInfo] = {}
-
- for py in files:
- mod = parse_file(py)
- if not mod:
- continue
- rel_module = str(py.relative_to(SRC_ROOT))
- for node in mod.body:
- if isinstance(node, ast.ClassDef):
- base_names = [name_from_node(b) for b in node.bases]
- base_names = [n for n in base_names if n]
- ci = ClassInfo(name=node.name, module=rel_module, bases=base_names)
- classes[ci.name] = ci
-
- # Second pass: gather compositions and contains
- for node in mod.body:
- if isinstance(node, ast.ClassDef):
- ci = classes.get(node.name)
- if not ci:
- continue
- for inner in node.body:
- # __init__ assignments: self.attr = SomeClass(...)
- if isinstance(inner, ast.FunctionDef) and inner.name == '__init__':
- for stmt in ast.walk(inner):
- if isinstance(stmt, ast.Assign):
- # Look for Call on RHS
- if isinstance(stmt.value, ast.Call):
- callee = name_from_node(stmt.value.func)
- if callee:
- ci.compositions.add(callee)
- if isinstance(stmt, ast.Expr) and isinstance(stmt.value, ast.Call):
- # super().__init__(item_type=SomeClass)
- call = stmt.value
- func_name = name_from_node(call.func)
- if func_name == '__init__' and isinstance(call, ast.Call):
- for kw in call.keywords:
- if kw.arg == 'item_type':
- n = name_from_node(kw.value)
- if n:
- ci.contains.add(n)
- # @property return annotation: def x(self) -> SomeClass
- if isinstance(inner, ast.FunctionDef):
- if inner.returns is not None:
- ann = name_from_node(inner.returns)
- if ann:
- ci.compositions.add(ann)
-
- # Categorize
- for ci in classes.values():
- path = ci.module
- # Collections
- if 'DatablockCollection' in ci.bases:
- ci.category = 'collection'
- # Measurement (concrete experiment types)
- elif (
- 'experiments/experiment_types/' in path
- and ci.name.endswith('Experiment')
- and not ci.name.startswith('Base')
- ):
- ci.category = 'measurement'
- # Base classes (heuristic)
- elif ci.name.startswith('Base'):
- ci.category = 'baseclass'
- # Models
- elif 'sample_models/' in path and ci.name in {'BaseSampleModel', 'SampleModel'}:
- ci.category = 'model'
- # Containers
- elif path.endswith('project.py') and ci.name == 'Project' or path.endswith('project_info.py') and ci.name == 'ProjectInfo' or path.endswith('summary.py') and ci.name == 'Summary' or path.endswith('analysis/analysis.py') and ci.name == 'Analysis':
- ci.category = 'container'
- # Keep others uncategorized (they will still participate via edges)
-
- return classes
-
-
-# -----------------
-# Mermaid rendering
-# -----------------
-
-
-def mermaid_header() -> str:
- return 'classDiagram\n'
-
-
-def mermaid_classes(classes: Dict[str, ClassInfo]) -> str:
- lines: List[str] = []
- for ci in classes.values():
- # Limit to overview classes: containers, collections, models, baseclasses, measurements
- if ci.category in {'container', 'collection', 'model', 'baseclass', 'measurement'}:
- style = f':::{ci.category}' if ci.category else ''
- lines.append(f' class {ci.name}{style}')
- return '\n'.join(lines) + ('\n\n' if lines else '')
-
-
-def build_edges(classes: Dict[str, ClassInfo]) -> Tuple[List[str], List[str], List[str]]:
- """Return (inheritance, composition, contains) edge lists."""
- # Work only with classes we render as overview categories
- showable = {
- name
- for name, ci in classes.items()
- if ci.category in {'container', 'collection', 'model', 'baseclass', 'measurement'}
- }
-
- inheritance: List[str] = []
- composition: List[str] = []
- contains: List[str] = []
-
- # Inheritance: Parent <|-- Child
- for child_name, ci in classes.items():
- for base in ci.bases:
- if base in showable and child_name in showable:
- inheritance.append(f' {base} <|-- {child_name}')
-
- # Composition: A *-- B (if A composes B)
- for a_name, ci in classes.items():
- if a_name not in showable:
- continue
- for b in ci.compositions:
- if b in showable:
- # Special-case: hide Analysis internals; keep only Project *-- Analysis
- if b == 'Analysis' and a_name != 'Project':
- continue
- composition.append(f' {a_name} *-- {b}')
-
- # Contains: Collections "1" -- "*" T : contains
- for a_name, ci in classes.items():
- if ci.category != 'collection':
- continue
- for t in ci.contains:
- if t in classes:
- # Expand Experiments contains Experiment into all concrete measurements
- if a_name == 'Experiments' and t == 'Experiment':
- for name, c2 in classes.items():
- if c2.category == 'measurement':
- contains.append(f' {a_name} "1" -- "*" {name} : contains')
- else:
- contains.append(f' {a_name} "1" -- "*" {t} : contains')
-
- return inheritance, composition, contains
-
-
-def mermaid_relationships(classes: Dict[str, ClassInfo]) -> str:
- inh, comp, cont = build_edges(classes)
- lines: List[str] = []
- lines.append(' %% Relationships %%\n')
- if comp or cont or inh:
- lines.append('')
- lines.extend(inh)
- if inh and (comp or cont):
- lines.append('')
- lines.extend(cont)
- if cont and comp:
- lines.append('')
- lines.extend(comp)
- lines.append('\n')
- return '\n'.join(lines)
-
-
-def mermaid_styles() -> str:
- return (
- ' %%%%%%%%%%%%%\n'
- ' %% STYLING %%\n'
- ' %%%%%%%%%%%%%\n\n'
- ' %% Abstract Base Classes\n'
- ' classDef baseclass fill:#6A5ACD,stroke:#333,stroke-width:1px,color:white;\n\n'
- ' %% Containers (Project, ProjectInfo, Summary, Analysis)\n'
- ' classDef container fill:#455A64,stroke:#333,stroke-width:1px,color:white;\n\n'
- ' %% Collections (SampleModels, Experiments)\n'
- ' classDef collection fill:#607D8B,stroke:#333,stroke-width:1px,color:white;\n\n'
- ' %% Concrete Experiments\n'
- ' classDef measurement fill:#4682B4,stroke:#0D47A1,stroke-width:1px,color:white;\n\n'
- ' %% Models (SampleModel, StructuralModel)\n'
- ' classDef model fill:#009688,stroke:#004D40,stroke-width:1px,color:white;\n'
- )
-
-
-def build_mermaid() -> str:
- classes = discover_classes()
- parts = [
- mermaid_header(),
- mermaid_classes(classes),
- mermaid_relationships(classes),
- mermaid_styles(),
- ]
- return ''.join(parts)
-
-
-def write_markdown(mermaid: str) -> None:
- DOCS_OUT_DIR.mkdir(parents=True, exist_ok=True)
- content = [
- '# Architecture Overview',
- '',
- '```mermaid',
- mermaid,
- '```',
- '',
- '> Note: This diagram is auto-generated. Edit tools/generate_overview_mermaid.py to change structure or style.',
- '',
- ]
- OUT_MD.write_text('\n'.join(content), encoding='utf-8')
- rel = OUT_MD.relative_to(REPO_ROOT)
- print(f'Wrote: {rel}')
-
-
-def main() -> None:
- if not SRC_ROOT.exists():
- raise SystemExit(f'Source root not found: {SRC_ROOT}')
- mermaid = build_mermaid()
- write_markdown(mermaid)
-
-
-if __name__ == '__main__':
- main()
diff --git a/tmp/unsorted/hrpt_n_Bi0p88Sm0p12Fe0p94Ti0p06O3_DW_V_9x8x52_1p49_HI.xye b/tmp/unsorted/hrpt_n_Bi0p88Sm0p12Fe0p94Ti0p06O3_DW_V_9x8x52_1p49_HI.xye
deleted file mode 100644
index ee93d36a0..000000000
--- a/tmp/unsorted/hrpt_n_Bi0p88Sm0p12Fe0p94Ti0p06O3_DW_V_9x8x52_1p49_HI.xye
+++ /dev/null
@@ -1,3244 +0,0 @@
- 2.700 644.0 48.5
- 2.750 561.0 46.3
- 2.800 478.0 44.0
- 2.850 467.0 43.5
- 2.900 456.0 42.9
- 2.950 377.0 37.1
- 3.000 418.0 41.0
- 3.050 421.0 41.3
- 3.100 454.0 42.9
- 3.150 408.0 40.6
- 3.200 332.0 25.4
- 3.250 442.0 42.2
- 3.300 401.0 28.4
- 3.350 389.0 39.7
- 3.400 431.0 29.5
- 3.450 381.0 27.2
- 3.500 435.0 29.5
- 3.550 505.0 31.9
- 3.600 475.0 30.8
- 3.650 479.0 31.1
- 3.700 523.0 25.9
- 3.750 551.0 33.2
- 3.800 595.0 28.1
- 3.850 674.0 36.7
- 3.900 640.0 29.0
- 3.950 697.0 29.9
- 4.000 721.0 30.8
- 4.050 795.0 32.5
- 4.100 838.0 33.1
- 4.150 770.0 31.8
- 4.200 851.0 28.6
- 4.250 883.0 34.1
- 4.300 912.0 29.9
- 4.350 888.0 34.0
- 4.400 997.0 31.2
- 4.450 982.0 30.7
- 4.500 975.0 30.8
- 4.550 983.0 31.0
- 4.600 986.0 30.9
- 4.650 985.0 31.0
- 4.700 977.0 27.3
- 4.750 997.0 31.1
- 4.800 994.0 27.7
- 4.850 930.0 29.9
- 4.900 982.0 27.6
- 4.950 968.0 27.2
- 5.000 1004.0 27.8
- 5.050 978.0 27.5
- 5.100 945.0 26.9
- 5.150 975.0 27.5
- 5.200 939.0 26.8
- 5.250 973.0 27.3
- 5.300 991.0 27.4
- 5.350 1014.0 27.8
- 5.400 972.0 27.2
- 5.450 986.0 27.4
- 5.500 995.0 27.4
- 5.550 1020.0 27.8
- 5.600 988.0 27.3
- 5.650 994.0 27.5
- 5.700 942.0 26.5
- 5.750 983.0 27.2
- 5.800 1006.0 27.4
- 5.850 990.0 27.3
- 5.900 999.0 27.3
- 5.950 994.0 27.3
- 6.000 1019.0 27.6
- 6.050 986.0 27.1
- 6.100 1015.0 27.4
- 6.150 992.0 27.2
- 6.200 1025.0 27.6
- 6.250 973.0 26.9
- 6.300 988.0 27.0
- 6.350 1005.0 27.3
- 6.400 928.0 26.3
- 6.450 1019.0 27.5
- 6.500 976.0 26.9
- 6.550 943.0 26.4
- 6.600 939.0 26.3
- 6.650 966.0 26.8
- 6.700 998.0 27.2
- 6.750 976.0 26.9
- 6.800 953.0 26.5
- 6.850 919.0 26.1
- 6.900 937.0 26.4
- 6.950 1021.0 27.5
- 7.000 971.0 26.8
- 7.050 1008.0 27.3
- 7.100 979.0 26.7
- 7.150 949.0 26.5
- 7.200 898.0 25.8
- 7.250 980.0 26.9
- 7.300 968.0 26.7
- 7.350 929.0 26.0
- 7.400 939.0 26.4
- 7.450 967.0 26.8
- 7.500 905.0 25.9
- 7.550 912.0 26.0
- 7.600 894.0 25.5
- 7.650 937.0 26.4
- 7.700 928.0 26.2
- 7.750 947.0 26.5
- 7.800 958.0 26.6
- 7.850 919.0 25.9
- 7.900 920.0 26.1
- 7.950 935.0 26.3
- 8.000 914.0 26.0
- 8.050 939.0 26.3
- 8.100 931.0 26.1
- 8.150 861.0 25.3
- 8.200 893.0 25.6
- 8.250 895.0 25.7
- 8.300 881.0 25.5
- 8.350 892.0 25.5
- 8.400 926.0 26.2
- 8.450 924.0 26.1
- 8.500 900.0 25.8
- 8.550 884.0 25.5
- 8.600 868.0 25.2
- 8.650 885.0 25.6
- 8.700 884.0 25.5
- 8.750 896.0 25.8
- 8.800 854.0 25.1
- 8.850 842.0 24.8
- 8.900 882.0 25.7
- 8.950 842.0 24.9
- 9.000 898.0 25.9
- 9.050 859.0 25.2
- 9.100 888.0 25.6
- 9.150 859.0 25.4
- 9.200 877.0 25.7
- 9.250 923.0 26.2
- 9.300 860.0 25.5
- 9.350 867.0 25.3
- 9.400 885.0 26.0
- 9.450 878.0 25.7
- 9.500 908.0 26.4
- 9.550 886.0 25.9
- 9.600 888.0 26.1
- 9.650 852.0 25.5
- 9.700 857.0 25.7
- 9.750 811.0 24.9
- 9.800 862.0 25.8
- 9.850 873.0 25.9
- 9.900 869.0 26.0
- 9.950 843.0 25.5
- 10.000 852.0 25.8
- 10.050 843.0 25.5
- 10.100 897.0 26.6
- 10.150 855.0 25.8
- 10.200 863.0 26.1
- 10.250 869.0 26.0
- 10.300 828.0 25.6
- 10.350 861.0 26.0
- 10.400 889.0 26.5
- 10.450 834.0 25.6
- 10.500 835.0 25.7
- 10.550 878.0 26.3
- 10.600 862.0 26.2
- 10.650 869.0 26.2
- 10.700 835.0 25.9
- 10.750 873.0 26.3
- 10.800 869.0 26.3
- 10.850 832.0 25.7
- 10.900 882.0 26.5
- 10.950 841.0 26.0
- 11.000 886.0 26.5
- 11.050 841.0 25.9
- 11.100 866.0 26.2
- 11.150 862.0 26.2
- 11.200 865.0 26.3
- 11.250 877.0 26.4
- 11.300 853.0 26.0
- 11.350 866.0 26.2
- 11.400 832.0 25.6
- 11.450 843.0 26.0
- 11.500 869.0 26.2
- 11.550 879.0 26.4
- 11.600 861.0 26.0
- 11.650 883.0 26.4
- 11.700 858.0 26.0
- 11.750 787.0 24.9
- 11.800 833.0 25.4
- 11.850 855.0 25.9
- 11.900 825.0 25.3
- 11.950 821.0 25.4
- 12.000 839.0 25.4
- 12.050 862.0 25.9
- 12.100 849.0 25.5
- 12.150 777.0 24.5
- 12.200 849.0 25.5
- 12.250 805.0 24.9
- 12.300 844.0 25.4
- 12.350 816.0 25.1
- 12.400 876.0 25.9
- 12.450 912.0 26.5
- 12.500 864.0 25.6
- 12.550 866.0 25.7
- 12.600 857.0 25.4
- 12.650 835.0 25.2
- 12.700 824.0 24.9
- 12.750 853.0 25.4
- 12.800 880.0 25.8
- 12.850 858.0 25.5
- 12.900 804.0 27.5
- 12.950 901.0 26.1
- 13.000 864.0 28.4
- 13.050 848.0 25.3
- 13.100 798.0 24.5
- 13.150 821.0 27.8
- 13.200 842.0 25.0
- 13.250 848.0 28.1
- 13.300 860.0 25.4
- 13.350 846.0 25.2
- 13.400 835.0 28.0
- 13.450 847.0 25.1
- 13.500 790.0 27.1
- 13.550 849.0 25.2
- 13.600 815.0 24.8
- 13.650 803.0 27.4
- 13.700 852.0 25.2
- 13.750 815.0 27.5
- 13.800 870.0 25.6
- 13.850 831.0 25.0
- 13.900 869.0 28.6
- 13.950 841.0 25.0
- 14.000 833.0 27.9
- 14.050 855.0 25.3
- 14.100 811.0 24.7
- 14.150 839.0 28.1
- 14.200 877.0 25.6
- 14.250 882.0 28.7
- 14.300 837.0 25.1
- 14.350 862.0 25.5
- 14.400 852.0 28.3
- 14.450 887.0 25.7
- 14.500 821.0 27.7
- 14.550 829.0 25.0
- 14.600 816.0 24.8
- 14.650 874.0 28.6
- 14.700 860.0 25.4
- 14.750 855.0 28.3
- 14.800 844.0 25.2
- 14.850 846.0 25.2
- 14.900 842.0 28.2
- 14.950 803.0 24.5
- 15.000 888.0 29.1
- 15.050 828.0 25.0
- 15.100 867.0 25.6
- 15.150 877.0 28.7
- 15.200 888.0 26.0
- 15.250 837.0 28.2
- 15.300 855.0 25.5
- 15.350 871.0 25.6
- 15.400 866.0 25.7
- 15.450 842.0 25.3
- 15.500 810.0 24.9
- 15.550 831.0 25.1
- 15.600 822.0 25.1
- 15.650 818.0 25.0
- 15.700 841.0 25.6
- 15.750 875.0 25.9
- 15.800 799.0 25.0
- 15.850 886.0 26.1
- 15.900 847.0 25.7
- 15.950 879.0 26.2
- 16.000 839.0 25.7
- 16.050 851.0 25.8
- 16.100 829.0 25.5
- 16.150 846.0 25.7
- 16.200 868.0 26.3
- 16.250 839.0 25.7
- 16.300 835.0 25.9
- 16.350 834.0 25.5
- 16.400 827.0 25.6
- 16.450 878.0 26.5
- 16.500 835.0 25.9
- 16.550 806.0 25.4
- 16.600 832.0 25.8
- 16.650 876.0 26.4
- 16.700 868.0 26.6
- 16.750 823.0 25.7
- 16.800 832.0 26.0
- 16.850 890.0 26.7
- 16.900 882.0 26.8
- 16.950 837.0 26.1
- 17.000 835.0 26.0
- 17.050 876.0 26.7
- 17.100 870.0 26.6
- 17.150 818.0 25.7
- 17.200 901.0 27.1
- 17.250 881.0 26.7
- 17.300 854.0 26.4
- 17.350 886.0 26.9
- 17.400 867.0 26.6
- 17.450 909.0 27.3
- 17.500 836.0 26.0
- 17.550 870.0 26.7
- 17.600 873.0 26.6
- 17.650 936.0 27.6
- 17.700 859.0 26.4
- 17.750 861.0 26.4
- 17.800 881.0 26.7
- 17.850 867.0 26.5
- 17.900 849.0 26.1
- 17.950 858.0 26.4
- 18.000 835.0 25.8
- 18.050 913.0 27.1
- 18.100 884.0 26.6
- 18.150 948.0 27.6
- 18.200 892.0 26.6
- 18.250 912.0 27.0
- 18.300 947.0 27.3
- 18.350 990.0 28.2
- 18.400 1065.0 28.9
- 18.450 1169.0 30.4
- 18.500 1106.0 29.3
- 18.550 1251.0 31.4
- 18.600 1349.0 32.4
- 18.650 1504.0 34.4
- 18.700 1611.0 35.2
- 18.750 1783.0 37.2
- 18.800 1878.0 38.0
- 18.850 2110.0 40.5
- 18.900 2184.0 41.0
- 18.950 2240.0 41.5
- 19.000 2257.0 41.4
- 19.050 2219.0 41.3
- 19.100 2152.0 40.3
- 19.150 1980.0 39.1
- 19.200 1750.0 36.3
- 19.250 1580.0 34.6
- 19.300 1353.0 32.0
- 19.350 1211.0 30.3
- 19.400 1099.0 28.8
- 19.450 984.0 27.2
- 19.500 964.0 26.8
- 19.550 905.0 26.1
- 19.600 961.0 26.7
- 19.650 895.0 25.9
- 19.700 931.0 26.3
- 19.750 891.0 25.8
- 19.800 908.0 26.1
- 19.850 846.0 25.1
- 19.900 929.0 26.3
- 19.950 859.0 25.2
- 20.000 895.0 25.8
- 20.050 857.0 25.3
- 20.100 865.0 25.3
- 20.150 900.0 25.9
- 20.200 884.0 25.5
- 20.250 879.0 25.5
- 20.300 852.0 25.2
- 20.350 861.0 25.2
- 20.400 874.0 25.4
- 20.450 893.0 25.7
- 20.500 890.0 25.7
- 20.550 877.0 25.6
- 20.600 915.0 26.0
- 20.650 897.0 25.8
- 20.700 882.0 25.5
- 20.750 901.0 25.9
- 20.800 941.0 26.4
- 20.850 867.0 25.3
- 20.900 882.0 25.5
- 20.950 903.0 25.8
- 21.000 864.0 25.4
- 21.050 933.0 26.3
- 21.100 891.0 25.7
- 21.150 979.0 26.9
- 21.200 909.0 25.9
- 21.250 943.0 26.5
- 21.300 956.0 26.6
- 21.350 963.0 26.7
- 21.400 1001.0 27.2
- 21.450 1055.0 27.9
- 21.500 1085.0 28.5
- 21.550 1126.0 28.9
- 21.600 1259.0 30.6
- 21.650 1248.0 30.4
- 21.700 1269.0 30.9
- 21.750 1390.0 32.3
- 21.800 1541.0 33.9
- 21.850 1621.0 34.8
- 21.900 1658.0 35.3
- 21.950 1663.0 35.3
- 22.000 1628.0 35.2
- 22.050 1568.0 34.2
- 22.100 1511.0 33.8
- 22.150 1425.0 32.7
- 22.200 1290.0 31.5
- 22.250 1169.0 29.9
- 22.300 1163.0 29.8
- 22.350 1026.0 27.9
- 22.400 993.0 27.6
- 22.450 955.0 27.1
- 22.500 922.0 26.8
- 22.550 971.0 27.2
- 22.600 915.0 26.7
- 22.650 925.0 26.6
- 22.700 937.0 27.1
- 22.750 888.0 26.3
- 22.800 913.0 26.6
- 22.850 895.0 26.3
- 22.900 854.0 25.9
- 22.950 871.0 26.2
- 23.000 900.0 26.7
- 23.050 906.0 26.5
- 23.100 902.0 26.7
- 23.150 891.0 26.4
- 23.200 853.0 26.2
- 23.250 852.0 26.0
- 23.300 925.0 27.0
- 23.350 886.0 26.5
- 23.400 872.0 26.3
- 23.450 871.0 26.4
- 23.500 855.0 26.1
- 23.550 854.0 26.0
- 23.600 858.0 26.1
- 23.650 898.0 26.7
- 23.700 866.0 26.4
- 23.750 864.0 26.3
- 23.800 841.0 25.9
- 23.850 833.0 25.8
- 23.900 888.0 26.5
- 23.950 885.0 26.7
- 24.000 840.0 25.8
- 24.050 861.0 26.2
- 24.100 857.0 26.1
- 24.150 820.0 25.4
- 24.200 836.0 25.8
- 24.250 841.0 25.9
- 24.300 917.0 26.9
- 24.350 831.0 25.7
- 24.400 881.0 26.3
- 24.450 859.0 26.1
- 24.500 847.0 25.8
- 24.550 831.0 25.6
- 24.600 827.0 25.5
- 24.650 873.0 26.2
- 24.700 817.0 25.3
- 24.750 839.0 25.7
- 24.800 869.0 26.0
- 24.850 819.0 25.4
- 24.900 854.0 25.7
- 24.950 836.0 25.6
- 25.000 858.0 25.8
- 25.050 850.0 25.7
- 25.100 815.0 25.1
- 25.150 886.0 26.2
- 25.200 795.0 24.7
- 25.250 856.0 25.8
- 25.300 847.0 25.6
- 25.350 861.0 25.7
- 25.400 799.0 24.7
- 25.450 801.0 24.8
- 25.500 859.0 25.6
- 25.550 828.0 25.3
- 25.600 863.0 25.6
- 25.650 838.0 25.3
- 25.700 832.0 25.1
- 25.750 852.0 25.5
- 25.800 846.0 25.4
- 25.850 858.0 25.5
- 25.900 792.0 24.6
- 25.950 820.0 24.9
- 26.000 836.0 25.2
- 26.050 916.0 26.5
- 26.100 846.0 25.3
- 26.150 855.0 25.5
- 26.200 864.0 25.5
- 26.250 890.0 26.0
- 26.300 820.0 25.0
- 26.350 822.0 24.9
- 26.400 781.0 24.4
- 26.450 870.0 25.6
- 26.500 862.0 25.6
- 26.550 860.0 25.6
- 26.600 826.0 25.0
- 26.650 858.0 25.6
- 26.700 837.0 25.2
- 26.750 850.0 25.4
- 26.800 898.0 26.2
- 26.850 796.0 24.5
- 26.900 839.0 25.4
- 26.950 879.0 25.8
- 27.000 864.0 25.6
- 27.050 884.0 26.0
- 27.100 833.0 25.1
- 27.150 852.0 25.6
- 27.200 813.0 24.8
- 27.250 864.0 25.6
- 27.300 890.0 26.1
- 27.350 844.0 25.3
- 27.400 824.0 25.2
- 27.450 869.0 25.6
- 27.500 858.0 25.5
- 27.550 840.0 25.3
- 27.600 845.0 25.3
- 27.650 828.0 25.2
- 27.700 851.0 25.4
- 27.750 817.0 24.9
- 27.800 877.0 25.8
- 27.850 809.0 24.8
- 27.900 855.0 25.7
- 27.950 906.0 26.3
- 28.000 875.0 25.9
- 28.050 862.0 25.6
- 28.100 842.0 25.4
- 28.150 840.0 25.5
- 28.200 860.0 25.7
- 28.250 870.0 25.8
- 28.300 900.0 26.3
- 28.350 854.0 25.6
- 28.400 890.0 26.3
- 28.450 875.0 25.9
- 28.500 792.0 24.8
- 28.550 894.0 26.2
- 28.600 830.0 25.4
- 28.650 887.0 26.3
- 28.700 874.0 26.1
- 28.750 872.0 26.0
- 28.800 855.0 25.8
- 28.850 865.0 26.0
- 28.900 923.0 27.0
- 28.950 854.0 25.9
- 29.000 877.0 26.3
- 29.050 931.0 26.9
- 29.100 909.0 26.8
- 29.150 889.0 26.5
- 29.200 931.0 27.1
- 29.250 882.0 26.4
- 29.300 911.0 26.8
- 29.350 930.0 27.2
- 29.400 911.0 27.0
- 29.450 912.0 26.8
- 29.500 901.0 26.9
- 29.550 899.0 26.7
- 29.600 914.0 27.0
- 29.650 921.0 27.2
- 29.700 876.0 26.4
- 29.750 943.0 27.5
- 29.800 917.0 27.0
- 29.850 910.0 27.0
- 29.900 926.0 27.2
- 29.950 953.0 27.6
- 30.000 909.0 27.0
- 30.050 932.0 27.2
- 30.100 911.0 27.0
- 30.150 943.0 27.5
- 30.200 911.0 26.9
- 30.250 937.0 27.4
- 30.300 956.0 27.5
- 30.350 957.0 27.6
- 30.400 1047.0 28.8
- 30.450 990.0 28.0
- 30.500 981.0 27.9
- 30.550 989.0 28.0
- 30.600 1069.0 28.9
- 30.650 1128.0 30.0
- 30.700 1212.0 30.8
- 30.750 1337.0 32.6
- 30.800 1439.0 33.6
- 30.850 1577.0 35.2
- 30.900 1743.0 36.9
- 30.950 1927.0 38.8
- 31.000 2125.0 40.6
- 31.050 2331.0 42.7
- 31.100 2480.0 43.7
- 31.150 2597.0 45.0
- 31.200 2604.0 44.6
- 31.250 2611.0 45.1
- 31.300 2434.0 43.1
- 31.350 2326.0 42.4
- 31.400 2049.0 39.5
- 31.450 1761.0 36.7
- 31.500 1549.0 34.3
- 31.550 1385.0 32.5
- 31.600 1207.0 30.2
- 31.650 1145.0 29.5
- 31.700 1031.0 27.9
- 31.750 998.0 27.6
- 31.800 994.0 27.3
- 31.850 913.0 26.3
- 31.900 942.0 26.5
- 31.950 945.0 26.7
- 32.000 930.0 26.4
- 32.050 889.0 25.8
- 32.100 944.0 26.5
- 32.150 897.0 25.9
- 32.200 897.0 25.7
- 32.250 943.0 26.6
- 32.300 884.0 25.6
- 32.350 877.0 25.5
- 32.400 887.0 25.6
- 32.450 897.0 25.7
- 32.500 937.0 26.4
- 32.550 879.0 25.5
- 32.600 885.0 25.6
- 32.650 887.0 25.6
- 32.700 873.0 25.3
- 32.750 859.0 25.3
- 32.800 890.0 25.6
- 32.850 874.0 25.4
- 32.900 873.0 25.4
- 32.950 886.0 25.5
- 33.000 912.0 26.0
- 33.050 921.0 26.1
- 33.100 882.0 25.5
- 33.150 851.0 25.1
- 33.200 931.0 26.1
- 33.250 901.0 25.9
- 33.300 919.0 26.0
- 33.350 923.0 26.1
- 33.400 919.0 26.1
- 33.450 929.0 26.1
- 33.500 884.0 25.6
- 33.550 886.0 25.6
- 33.600 869.0 25.3
- 33.650 886.0 25.6
- 33.700 864.0 25.2
- 33.750 886.0 25.7
- 33.800 897.0 25.8
- 33.850 844.0 24.9
- 33.900 897.0 25.8
- 33.950 882.0 25.4
- 34.000 901.0 25.9
- 34.050 881.0 25.6
- 34.100 849.0 25.1
- 34.150 898.0 25.8
- 34.200 936.0 26.3
- 34.250 951.0 26.6
- 34.300 870.0 25.5
- 34.350 904.0 25.9
- 34.400 872.0 25.6
- 34.450 871.0 25.4
- 34.500 903.0 26.0
- 34.550 898.0 25.9
- 34.600 911.0 26.2
- 34.650 919.0 26.3
- 34.700 880.0 25.8
- 34.750 897.0 25.9
- 34.800 900.0 26.1
- 34.850 908.0 26.1
- 34.900 887.0 26.0
- 34.950 933.0 26.5
- 35.000 903.0 26.3
- 35.050 931.0 26.6
- 35.100 939.0 26.8
- 35.150 894.0 26.1
- 35.200 896.0 26.3
- 35.250 923.0 26.5
- 35.300 919.0 26.7
- 35.350 903.0 26.4
- 35.400 884.0 26.2
- 35.450 937.0 26.9
- 35.500 955.0 27.3
- 35.550 905.0 26.5
- 35.600 888.0 26.4
- 35.650 860.0 25.9
- 35.700 876.0 26.3
- 35.750 913.0 26.7
- 35.800 956.0 27.5
- 35.850 916.0 26.8
- 35.900 946.0 27.3
- 35.950 892.0 26.5
- 36.000 955.0 27.5
- 36.050 957.0 27.5
- 36.100 1023.0 28.5
- 36.150 981.0 27.8
- 36.200 1046.0 28.9
- 36.250 1167.0 30.4
- 36.300 1254.0 31.5
- 36.350 1337.0 32.6
- 36.400 1490.0 34.4
- 36.450 1696.0 36.8
- 36.500 1833.0 38.2
- 36.550 2003.0 39.9
- 36.600 2229.0 42.0
- 36.650 2389.0 43.6
- 36.700 2443.0 44.0
- 36.750 2487.0 44.5
- 36.800 2481.0 44.4
- 36.850 2358.0 43.2
- 36.900 2200.0 41.6
- 36.950 1971.0 39.6
- 37.000 1757.0 37.3
- 37.050 1480.0 34.2
- 37.100 1406.0 33.2
- 37.150 1243.0 31.3
- 37.200 1142.0 29.9
- 37.250 1068.0 29.1
- 37.300 1055.0 28.7
- 37.350 1025.0 28.3
- 37.400 1008.0 28.0
- 37.450 983.0 27.8
- 37.500 1003.0 28.0
- 37.550 1050.0 28.6
- 37.600 1026.0 28.1
- 37.650 972.0 27.5
- 37.700 971.0 27.3
- 37.750 983.0 27.7
- 37.800 1002.0 27.7
- 37.850 1038.0 28.3
- 37.900 1112.0 29.1
- 37.950 1082.0 28.8
- 38.000 1187.0 30.2
- 38.050 1167.0 29.9
- 38.100 1289.0 31.3
- 38.150 1441.0 33.2
- 38.200 1477.0 33.4
- 38.250 1584.0 34.8
- 38.300 1666.0 35.5
- 38.350 1717.0 36.1
- 38.400 1833.0 37.2
- 38.450 1920.0 38.0
- 38.500 1818.0 37.1
- 38.550 1783.0 36.7
- 38.600 1673.0 35.5
- 38.650 1572.0 34.4
- 38.700 1453.0 32.9
- 38.750 1331.0 31.7
- 38.800 1189.0 29.9
- 38.850 1076.0 28.5
- 38.900 1039.0 27.9
- 38.950 1033.0 27.8
- 39.000 971.0 27.0
- 39.050 897.0 26.0
- 39.100 890.0 25.9
- 39.150 919.0 26.3
- 39.200 922.0 26.2
- 39.250 895.0 26.0
- 39.300 919.0 26.3
- 39.350 943.0 26.6
- 39.400 880.0 25.8
- 39.450 936.0 26.4
- 39.500 857.0 25.4
- 39.550 883.0 25.8
- 39.600 919.0 26.3
- 39.650 865.0 25.6
- 39.700 901.0 25.9
- 39.750 851.0 25.3
- 39.800 861.0 25.4
- 39.850 902.0 26.1
- 39.900 883.0 25.8
- 39.950 921.0 26.1
- 40.000 911.0 26.2
- 40.050 844.0 25.2
- 40.100 927.0 26.4
- 40.150 930.0 26.5
- 40.200 862.0 25.4
- 40.250 919.0 26.3
- 40.300 922.0 26.3
- 40.350 903.0 26.1
- 40.400 896.0 26.0
- 40.450 911.0 26.1
- 40.500 840.0 25.2
- 40.550 878.0 25.7
- 40.600 892.0 25.9
- 40.650 904.0 26.2
- 40.700 906.0 26.0
- 40.750 956.0 26.9
- 40.800 950.0 26.8
- 40.850 941.0 26.6
- 40.900 985.0 27.5
- 40.950 944.0 26.6
- 41.000 941.0 26.7
- 41.050 964.0 27.0
- 41.100 973.0 27.1
- 41.150 927.0 26.6
- 41.200 932.0 26.6
- 41.250 942.0 26.7
- 41.300 929.0 26.7
- 41.350 928.0 26.5
- 41.400 912.0 26.7
- 41.450 928.0 26.6
- 41.500 916.0 26.6
- 41.550 861.0 25.7
- 41.600 870.0 26.0
- 41.650 838.0 25.6
- 41.700 858.0 25.8
- 41.750 845.0 25.6
- 41.800 874.0 26.1
- 41.850 853.0 25.7
- 41.900 895.0 26.6
- 41.950 874.0 26.1
- 42.000 907.0 26.6
- 42.050 856.0 25.8
- 42.100 867.0 26.1
- 42.150 861.0 26.1
- 42.200 882.0 26.5
- 42.250 822.0 25.4
- 42.300 886.0 26.6
- 42.350 864.0 26.1
- 42.400 881.0 26.6
- 42.450 886.0 26.5
- 42.500 888.0 26.6
- 42.550 857.0 26.2
- 42.600 872.0 26.3
- 42.650 906.0 27.0
- 42.700 890.0 26.7
- 42.750 890.0 26.6
- 42.800 852.0 26.2
- 42.850 893.0 26.6
- 42.900 909.0 27.0
- 42.950 907.0 27.0
- 43.000 933.0 27.2
- 43.050 938.0 27.4
- 43.100 943.0 27.4
- 43.150 923.0 27.2
- 43.200 895.0 26.8
- 43.250 902.0 26.7
- 43.300 905.0 26.9
- 43.350 948.0 27.5
- 43.400 958.0 27.5
- 43.450 890.0 26.7
- 43.500 963.0 27.5
- 43.550 954.0 27.6
- 43.600 924.0 27.1
- 43.650 972.0 28.2
- 43.700 960.0 27.5
- 43.750 965.0 27.6
- 43.800 948.0 27.3
- 43.850 976.0 27.8
- 43.900 1028.0 28.2
- 43.950 1059.0 28.9
- 44.000 1113.0 29.3
- 44.050 1103.0 29.4
- 44.100 1243.0 31.0
- 44.150 1395.0 33.5
- 44.200 1594.0 35.1
- 44.250 1842.0 37.7
- 44.300 2123.0 40.4
- 44.350 2501.0 43.9
- 44.400 2879.0 46.7
- 44.450 3261.0 50.3
- 44.500 3626.0 52.5
- 44.550 3885.0 54.7
- 44.600 4086.0 55.5
- 44.650 4074.0 55.5
- 44.700 4018.0 55.3
- 44.750 3675.0 52.9
- 44.800 3351.0 50.4
- 44.850 2974.0 47.4
- 44.900 2453.0 42.8
- 44.950 2216.0 41.0
- 45.000 1743.0 36.2
- 45.050 1524.0 34.0
- 45.100 1385.0 32.2
- 45.150 1258.0 30.6
- 45.200 1173.0 29.7
- 45.250 1092.0 28.6
- 45.300 1048.0 28.2
- 45.350 1060.0 28.2
- 45.400 1012.0 27.5
- 45.450 993.0 27.3
- 45.500 964.0 27.0
- 45.550 957.0 26.9
- 45.600 935.0 26.5
- 45.650 955.0 26.7
- 45.700 965.0 26.9
- 45.750 950.0 26.8
- 45.800 903.0 26.1
- 45.850 945.0 26.6
- 45.900 914.0 26.2
- 45.950 934.0 26.4
- 46.000 932.0 26.6
- 46.050 920.0 26.3
- 46.100 913.0 26.3
- 46.150 917.0 26.3
- 46.200 881.0 25.7
- 46.250 904.0 26.2
- 46.300 925.0 26.5
- 46.350 907.0 26.2
- 46.400 866.0 25.6
- 46.450 927.0 26.4
- 46.500 888.0 26.0
- 46.550 890.0 26.0
- 46.600 896.0 26.2
- 46.650 807.0 24.7
- 46.700 884.0 25.8
- 46.750 872.0 25.8
- 46.800 890.0 26.0
- 46.850 922.0 26.5
- 46.900 887.0 26.1
- 46.950 918.0 26.3
- 47.000 929.0 26.7
- 47.050 933.0 26.6
- 47.100 883.0 26.1
- 47.150 947.0 26.9
- 47.200 880.0 26.0
- 47.250 924.0 26.6
- 47.300 875.0 26.0
- 47.350 885.0 26.1
- 47.400 896.0 26.4
- 47.450 894.0 26.2
- 47.500 857.0 25.8
- 47.550 909.0 26.6
- 47.600 910.0 26.8
- 47.650 896.0 26.4
- 47.700 955.0 27.4
- 47.750 893.0 26.4
- 47.800 921.0 27.0
- 47.850 914.0 26.8
- 47.900 942.0 27.4
- 47.950 938.0 27.2
- 48.000 935.0 27.3
- 48.050 916.0 26.9
- 48.100 953.0 27.7
- 48.150 983.0 28.0
- 48.200 987.0 28.2
- 48.250 994.0 28.1
- 48.300 985.0 28.3
- 48.350 1019.0 28.6
- 48.400 959.0 27.9
- 48.450 1109.0 29.9
- 48.500 1131.0 30.3
- 48.550 1152.0 30.6
- 48.600 1183.0 31.2
- 48.650 1249.0 31.9
- 48.700 1295.0 32.6
- 48.750 1424.0 33.9
- 48.800 1415.0 34.2
- 48.850 1492.0 34.9
- 48.900 1465.0 34.7
- 48.950 1585.0 36.1
- 49.000 1454.0 34.5
- 49.050 1516.0 35.3
- 49.100 1562.0 35.9
- 49.150 1342.0 33.2
- 49.200 1329.0 33.1
- 49.250 1283.0 32.4
- 49.300 1136.0 30.6
- 49.350 1132.0 30.5
- 49.400 1146.0 30.6
- 49.450 1182.0 31.2
- 49.500 1130.0 30.3
- 49.550 1202.0 31.5
- 49.600 1160.0 30.8
- 49.650 1170.0 31.0
- 49.700 1356.0 33.2
- 49.750 1312.0 32.7
- 49.800 1461.0 34.5
- 49.850 1503.0 35.1
- 49.900 1595.0 35.9
- 49.950 1677.0 37.0
- 50.000 1782.0 37.8
- 50.050 1803.0 38.3
- 50.100 1890.0 38.9
- 50.150 1939.0 39.6
- 50.200 1960.0 39.5
- 50.250 1940.0 39.5
- 50.300 1885.0 38.7
- 50.350 1787.0 37.8
- 50.400 1602.0 35.4
- 50.450 1565.0 35.3
- 50.500 1473.0 34.0
- 50.550 1322.0 32.4
- 50.600 1286.0 31.7
- 50.650 1153.0 30.1
- 50.700 1138.0 29.7
- 50.750 1034.0 28.4
- 50.800 1053.0 28.5
- 50.850 1036.0 28.4
- 50.900 1026.0 28.0
- 50.950 989.0 27.7
- 51.000 1002.0 27.6
- 51.050 900.0 26.3
- 51.100 959.0 27.0
- 51.150 940.0 26.8
- 51.200 965.0 27.0
- 51.250 945.0 26.8
- 51.300 957.0 26.9
- 51.350 924.0 26.5
- 51.400 971.0 27.0
- 51.450 917.0 26.3
- 51.500 901.0 26.0
- 51.550 914.0 26.2
- 51.600 959.0 26.8
- 51.650 946.0 26.6
- 51.700 949.0 26.7
- 51.750 916.0 26.2
- 51.800 935.0 26.4
- 51.850 910.0 26.1
- 51.900 908.0 26.0
- 51.950 873.0 25.6
- 52.000 884.0 25.6
- 52.050 899.0 25.9
- 52.100 887.0 25.7
- 52.150 921.0 26.2
- 52.200 920.0 26.2
- 52.250 866.0 25.4
- 52.300 897.0 25.8
- 52.350 865.0 25.4
- 52.400 910.0 25.9
- 52.450 912.0 26.1
- 52.500 924.0 26.2
- 52.550 892.0 25.7
- 52.600 880.0 25.6
- 52.650 929.0 26.2
- 52.700 875.0 25.6
- 52.750 944.0 26.5
- 52.800 882.0 25.6
- 52.850 923.0 26.2
- 52.900 911.0 25.9
- 52.950 950.0 26.6
- 53.000 927.0 26.2
- 53.050 929.0 26.2
- 53.100 945.0 26.4
- 53.150 968.0 26.7
- 53.200 970.0 26.9
- 53.250 933.0 26.3
- 53.300 959.0 26.7
- 53.350 931.0 26.2
- 53.400 925.0 26.2
- 53.450 955.0 26.7
- 53.500 937.0 26.4
- 53.550 921.0 26.2
- 53.600 979.0 27.0
- 53.650 993.0 27.1
- 53.700 986.0 27.2
- 53.750 933.0 26.3
- 53.800 992.0 27.3
- 53.850 988.0 27.1
- 53.900 1016.0 27.6
- 53.950 1045.0 28.0
- 54.000 1027.0 27.9
- 54.050 993.0 27.3
- 54.100 1021.0 27.8
- 54.150 998.0 27.3
- 54.200 987.0 27.5
- 54.250 993.0 27.4
- 54.300 1026.0 28.1
- 54.350 1042.0 28.1
- 54.400 1053.0 28.4
- 54.450 1034.0 28.1
- 54.500 1037.0 28.3
- 54.550 1098.0 29.0
- 54.600 1120.0 29.4
- 54.650 1105.0 29.1
- 54.700 1170.0 30.2
- 54.750 1226.0 30.8
- 54.800 1339.0 32.4
- 54.850 1322.0 32.0
- 54.900 1444.0 33.6
- 54.950 1561.0 34.9
- 55.000 1684.0 36.4
- 55.050 1856.0 38.1
- 55.100 1927.0 38.9
- 55.150 2086.0 40.4
- 55.200 2371.0 43.4
- 55.250 2454.0 43.9
- 55.300 2731.0 46.5
- 55.350 2830.0 47.2
- 55.400 2975.0 48.5
- 55.450 3049.0 49.2
- 55.500 2993.0 48.7
- 55.550 2854.0 47.6
- 55.600 2783.0 47.0
- 55.650 2544.0 44.8
- 55.700 2307.0 42.8
- 55.750 1972.0 39.5
- 55.800 1760.0 37.3
- 55.850 1513.0 34.6
- 55.900 1384.0 33.0
- 55.950 1217.0 31.1
- 56.000 1114.0 29.7
- 56.050 1078.0 29.2
- 56.100 1085.0 29.3
- 56.150 1053.0 28.8
- 56.200 1000.0 28.1
- 56.250 1003.0 28.2
- 56.300 974.0 27.6
- 56.350 954.0 27.5
- 56.400 953.0 27.3
- 56.450 971.0 27.7
- 56.500 929.0 26.9
- 56.550 962.0 27.5
- 56.600 952.0 27.2
- 56.650 983.0 27.7
- 56.700 909.0 26.6
- 56.750 932.0 27.0
- 56.800 902.0 26.4
- 56.850 943.0 27.1
- 56.900 922.0 26.5
- 56.950 894.0 26.4
- 57.000 1007.0 27.7
- 57.050 905.0 26.4
- 57.100 873.0 25.9
- 57.150 919.0 26.5
- 57.200 912.0 26.4
- 57.250 905.0 26.3
- 57.300 929.0 26.5
- 57.350 891.0 26.1
- 57.400 939.0 26.6
- 57.450 902.0 26.2
- 57.500 869.0 25.5
- 57.550 896.0 26.0
- 57.600 878.0 25.8
- 57.650 908.0 26.2
- 57.700 891.0 25.9
- 57.750 897.0 25.9
- 57.800 938.0 26.5
- 57.850 878.0 25.8
- 57.900 890.0 25.8
- 57.950 861.0 25.4
- 58.000 890.0 25.8
- 58.050 928.0 26.3
- 58.100 909.0 26.2
- 58.150 945.0 26.6
- 58.200 869.0 25.5
- 58.250 871.0 25.5
- 58.300 893.0 25.8
- 58.350 920.0 26.4
- 58.400 885.0 25.8
- 58.450 947.0 26.7
- 58.500 997.0 27.3
- 58.550 908.0 26.0
- 58.600 989.0 27.3
- 58.650 1030.0 27.8
- 58.700 1037.0 27.8
- 58.750 1038.0 27.9
- 58.800 1084.0 28.5
- 58.850 1057.0 28.2
- 58.900 1108.0 28.9
- 58.950 1168.0 29.5
- 59.000 1145.0 29.3
- 59.050 1238.0 30.4
- 59.100 1199.0 30.1
- 59.150 1166.0 29.7
- 59.200 1179.0 29.7
- 59.250 1139.0 29.2
- 59.300 1137.0 29.3
- 59.350 1112.0 28.9
- 59.400 1070.0 28.5
- 59.450 1020.0 27.6
- 59.500 1063.0 28.3
- 59.550 949.0 26.8
- 59.600 1002.0 27.4
- 59.650 967.0 27.1
- 59.700 971.0 26.9
- 59.750 962.0 26.9
- 59.800 959.0 26.9
- 59.850 930.0 26.4
- 59.900 924.0 26.5
- 59.950 908.0 26.1
- 60.000 915.0 26.3
- 60.050 926.0 26.5
- 60.100 889.0 26.0
- 60.150 880.0 25.9
- 60.200 896.0 26.0
- 60.250 879.0 25.8
- 60.300 877.0 25.9
- 60.350 906.0 26.2
- 60.400 848.0 25.6
- 60.450 895.0 26.0
- 60.500 865.0 25.7
- 60.550 909.0 26.3
- 60.600 919.0 26.6
- 60.650 870.0 25.9
- 60.700 865.0 25.8
- 60.750 923.0 26.6
- 60.800 887.0 26.3
- 60.850 889.0 26.2
- 60.900 880.0 26.2
- 60.950 900.0 26.3
- 61.000 882.0 26.1
- 61.050 914.0 26.7
- 61.100 903.0 26.6
- 61.150 907.0 26.6
- 61.200 929.0 27.0
- 61.250 902.0 26.4
- 61.300 944.0 27.4
- 61.350 884.0 26.4
- 61.400 944.0 27.3
- 61.450 884.0 26.3
- 61.500 884.0 26.4
- 61.550 883.0 26.5
- 61.600 900.0 26.7
- 61.650 870.0 26.2
- 61.700 890.0 26.5
- 61.750 925.0 27.0
- 61.800 900.0 26.7
- 61.850 916.0 26.9
- 61.900 925.0 27.0
- 61.950 913.0 26.9
- 62.000 901.0 26.6
- 62.050 888.0 26.5
- 62.100 875.0 26.3
- 62.150 885.0 26.5
- 62.200 915.0 26.8
- 62.250 903.0 26.6
- 62.300 862.0 26.0
- 62.350 846.0 25.9
- 62.400 890.0 26.4
- 62.450 940.0 27.2
- 62.500 810.0 25.1
- 62.550 933.0 27.1
- 62.600 929.0 26.9
- 62.650 911.0 26.7
- 62.700 963.0 27.4
- 62.750 849.0 25.7
- 62.800 903.0 26.4
- 62.850 858.0 25.9
- 62.900 932.0 26.7
- 62.950 865.0 26.0
- 63.000 894.0 26.2
- 63.050 933.0 26.9
- 63.100 898.0 26.2
- 63.150 903.0 26.3
- 63.200 873.0 25.8
- 63.250 899.0 26.3
- 63.300 946.0 26.8
- 63.350 915.0 26.5
- 63.400 914.0 26.2
- 63.450 912.0 26.4
- 63.500 920.0 26.3
- 63.550 975.0 27.2
- 63.600 927.0 26.4
- 63.650 956.0 26.8
- 63.700 917.0 26.2
- 63.750 956.0 26.8
- 63.800 952.0 26.6
- 63.850 982.0 27.2
- 63.900 1013.0 27.4
- 63.950 961.0 26.8
- 64.000 991.0 27.1
- 64.050 1028.0 27.6
- 64.100 1010.0 27.3
- 64.150 1103.0 28.6
- 64.200 1118.0 28.7
- 64.250 1147.0 29.1
- 64.300 1214.0 29.9
- 64.350 1263.0 30.6
- 64.400 1390.0 32.0
- 64.450 1496.0 33.2
- 64.500 1527.0 33.6
- 64.550 1726.0 35.6
- 64.600 1837.0 36.8
- 64.650 1990.0 38.3
- 64.700 2124.0 39.6
- 64.750 2148.0 39.8
- 64.800 2362.0 41.8
- 64.850 2381.0 41.9
- 64.900 2408.0 42.1
- 64.950 2515.0 43.1
- 65.000 2331.0 41.5
- 65.050 2370.0 41.9
- 65.100 2337.0 41.6
- 65.150 2236.0 40.6
- 65.200 2051.0 39.0
- 65.250 1804.0 36.5
- 65.300 1638.0 34.9
- 65.350 1448.0 32.7
- 65.400 1388.0 32.1
- 65.450 1229.0 30.2
- 65.500 1188.0 29.7
- 65.550 1134.0 29.0
- 65.600 1068.0 28.2
- 65.650 1011.0 27.4
- 65.700 1010.0 27.4
- 65.750 1021.0 27.5
- 65.800 988.0 27.1
- 65.850 963.0 26.7
- 65.900 956.0 26.7
- 65.950 968.0 26.8
- 66.000 957.0 26.7
- 66.050 990.0 27.2
- 66.100 954.0 26.7
- 66.150 947.0 26.6
- 66.200 976.0 27.0
- 66.250 936.0 26.4
- 66.300 942.0 26.6
- 66.350 989.0 27.1
- 66.400 943.0 26.6
- 66.450 956.0 26.7
- 66.500 920.0 26.3
- 66.550 923.0 26.4
- 66.600 952.0 26.9
- 66.650 899.0 26.0
- 66.700 960.0 26.9
- 66.750 973.0 27.1
- 66.800 907.0 26.3
- 66.850 979.0 27.2
- 66.900 924.0 26.6
- 66.950 920.0 26.4
- 67.000 973.0 27.4
- 67.050 945.0 26.9
- 67.100 955.0 27.1
- 67.150 944.0 26.9
- 67.200 981.0 27.5
- 67.250 995.0 27.7
- 67.300 934.0 26.9
- 67.350 1062.0 28.6
- 67.400 1008.0 28.0
- 67.450 1007.0 27.9
- 67.500 1077.0 29.1
- 67.550 1070.0 28.8
- 67.600 1080.0 29.1
- 67.650 1095.0 29.2
- 67.700 1173.0 30.3
- 67.750 1174.0 30.3
- 67.800 1228.0 31.2
- 67.850 1287.0 31.7
- 67.900 1285.0 31.8
- 67.950 1331.0 32.3
- 68.000 1429.0 33.7
- 68.050 1585.0 35.4
- 68.100 1560.0 35.0
- 68.150 1686.0 36.5
- 68.200 1700.0 36.7
- 68.250 1792.0 37.7
- 68.300 1787.0 37.7
- 68.350 1860.0 38.2
- 68.400 1883.0 38.6
- 68.450 1880.0 38.6
- 68.500 1831.0 38.2
- 68.550 1764.0 37.4
- 68.600 1713.0 36.7
- 68.650 1626.0 35.9
- 68.700 1642.0 35.9
- 68.750 1597.0 35.7
- 68.800 1613.0 35.7
- 68.850 1570.0 35.0
- 68.900 1570.0 35.1
- 68.950 1522.0 34.6
- 69.000 1586.0 35.3
- 69.050 1589.0 35.4
- 69.100 1545.0 34.6
- 69.150 1566.0 35.1
- 69.200 1578.0 35.1
- 69.250 1554.0 35.0
- 69.300 1561.0 34.9
- 69.350 1577.0 35.0
- 69.400 1472.0 33.7
- 69.450 1498.0 34.3
- 69.500 1433.0 33.3
- 69.550 1435.0 33.5
- 69.600 1338.0 32.0
- 69.650 1340.0 32.2
- 69.700 1301.0 31.6
- 69.750 1267.0 31.3
- 69.800 1176.0 30.0
- 69.850 1097.0 29.0
- 69.900 1089.0 28.8
- 69.950 1082.0 28.8
- 70.000 1017.0 27.8
- 70.050 988.0 27.5
- 70.100 1020.0 27.8
- 70.150 958.0 27.0
- 70.200 956.0 26.9
- 70.250 988.0 27.4
- 70.300 964.0 26.9
- 70.350 957.0 26.9
- 70.400 936.0 26.5
- 70.450 995.0 27.4
- 70.500 970.0 27.0
- 70.550 984.0 27.2
- 70.600 986.0 27.2
- 70.650 940.0 26.6
- 70.700 901.0 26.0
- 70.750 922.0 26.3
- 70.800 941.0 26.6
- 70.850 892.0 25.9
- 70.900 942.0 26.6
- 70.950 907.0 26.0
- 71.000 963.0 26.8
- 71.050 938.0 26.5
- 71.100 907.0 26.1
- 71.150 959.0 26.8
- 71.200 913.0 26.1
- 71.250 925.0 26.2
- 71.300 927.0 26.3
- 71.350 945.0 26.7
- 71.400 924.0 26.3
- 71.450 994.0 27.2
- 71.500 930.0 26.3
- 71.550 886.0 25.8
- 71.600 934.0 26.5
- 71.650 914.0 26.1
- 71.700 952.0 26.7
- 71.750 961.0 26.7
- 71.800 909.0 26.1
- 71.850 946.0 26.7
- 71.900 883.0 25.7
- 71.950 900.0 25.9
- 72.000 924.0 26.2
- 72.050 937.0 26.5
- 72.100 972.0 27.0
- 72.150 951.0 26.7
- 72.200 913.0 26.2
- 72.250 928.0 26.2
- 72.300 943.0 26.6
- 72.350 942.0 26.6
- 72.400 946.0 26.6
- 72.450 959.0 26.8
- 72.500 926.0 26.2
- 72.550 983.0 27.2
- 72.600 990.0 27.3
- 72.650 983.0 27.1
- 72.700 942.0 26.7
- 72.750 940.0 26.4
- 72.800 978.0 27.2
- 72.850 991.0 27.3
- 72.900 1027.0 27.9
- 72.950 938.0 26.6
- 73.000 1013.0 27.5
- 73.050 1024.0 27.9
- 73.100 1053.0 28.2
- 73.150 1048.0 28.2
- 73.200 1110.0 29.3
- 73.250 1095.0 28.6
- 73.300 1122.0 29.5
- 73.350 1224.0 30.4
- 73.400 1266.0 31.4
- 73.450 1196.0 30.4
- 73.500 1266.0 31.2
- 73.550 1271.0 31.4
- 73.600 1336.0 32.3
- 73.650 1278.0 31.5
- 73.700 1310.0 32.2
- 73.750 1313.0 31.8
- 73.800 1283.0 31.9
- 73.850 1208.0 30.6
- 73.900 1218.0 31.1
- 73.950 1184.0 30.6
- 74.000 1122.0 29.8
- 74.050 1119.0 29.9
- 74.100 1154.0 30.4
- 74.150 1090.0 29.3
- 74.200 1060.0 29.2
- 74.250 1075.0 29.2
- 74.300 1072.0 29.4
- 74.350 1093.0 29.6
- 74.400 1068.0 29.2
- 74.450 1041.0 29.0
- 74.500 1084.0 29.6
- 74.550 1044.0 29.1
- 74.600 1117.0 30.0
- 74.650 1055.0 29.1
- 74.700 986.0 28.4
- 74.750 1012.0 28.6
- 74.800 966.0 28.0
- 74.850 937.0 27.4
- 74.900 947.0 27.6
- 74.950 978.0 28.3
- 75.000 908.0 27.0
- 75.050 921.0 27.3
- 75.100 938.0 27.4
- 75.150 965.0 27.8
- 75.200 909.0 27.2
- 75.250 918.0 27.1
- 75.300 919.0 27.2
- 75.350 947.0 27.6
- 75.400 966.0 27.7
- 75.450 891.0 26.9
- 75.500 952.0 27.6
- 75.550 912.0 27.1
- 75.600 936.0 27.2
- 75.650 918.0 27.0
- 75.700 962.0 27.7
- 75.750 945.0 27.5
- 75.800 905.0 26.7
- 75.850 901.0 26.6
- 75.900 951.0 27.1
- 75.950 943.0 27.4
- 76.000 919.0 26.8
- 76.050 926.0 27.0
- 76.100 921.0 26.6
- 76.150 976.0 27.5
- 76.200 930.0 26.8
- 76.250 920.0 26.8
- 76.300 996.0 27.6
- 76.350 984.0 27.5
- 76.400 968.0 27.1
- 76.450 989.0 27.7
- 76.500 1006.0 27.7
- 76.550 1064.0 28.6
- 76.600 1084.0 28.4
- 76.650 1168.0 29.7
- 76.700 1182.0 29.9
- 76.750 1199.0 30.3
- 76.800 1239.0 30.5
- 76.850 1271.0 30.8
- 76.900 1303.0 31.1
- 76.950 1304.0 31.4
- 77.000 1285.0 31.0
- 77.050 1307.0 31.3
- 77.100 1325.0 31.3
- 77.150 1246.0 30.5
- 77.200 1128.0 28.9
- 77.250 1145.0 29.2
- 77.300 1060.0 28.0
- 77.350 1086.0 28.3
- 77.400 1008.0 27.5
- 77.450 1003.0 27.3
- 77.500 937.0 26.4
- 77.550 997.0 27.2
- 77.600 974.0 26.7
- 77.650 973.0 26.9
- 77.700 982.0 27.0
- 77.750 966.0 26.8
- 77.800 990.0 27.0
- 77.850 950.0 26.4
- 77.900 951.0 26.6
- 77.950 983.0 27.0
- 78.000 983.0 26.9
- 78.050 972.0 26.8
- 78.100 1003.0 27.2
- 78.150 950.0 26.6
- 78.200 937.0 26.3
- 78.250 967.0 26.7
- 78.300 932.0 26.1
- 78.350 927.0 26.2
- 78.400 926.0 29.4
- 78.450 914.0 26.0
- 78.500 955.0 29.7
- 78.550 916.0 25.8
- 78.600 935.0 26.2
- 78.650 981.0 30.2
- 78.700 926.0 26.3
- 78.750 892.0 28.7
- 78.800 922.0 26.0
- 78.850 962.0 26.5
- 78.900 896.0 29.1
- 78.950 902.0 26.0
- 79.000 830.0 27.7
- 79.050 896.0 25.6
- 79.100 865.0 25.3
- 79.150 919.0 29.4
- 79.200 884.0 25.8
- 79.250 900.0 28.9
- 79.300 885.0 25.7
- 79.350 891.0 25.7
- 79.400 865.0 28.9
- 79.450 921.0 26.4
- 79.500 863.0 28.4
- 79.550 904.0 26.0
- 79.600 946.0 26.7
- 79.650 899.0 29.5
- 79.700 927.0 26.7
- 79.750 882.0 28.7
- 79.800 871.0 25.9
- 79.850 861.0 25.5
- 79.900 938.0 30.3
- 79.950 905.0 26.4
- 80.000 940.0 30.2
- 80.050 861.0 25.7
- 80.100 886.0 26.2
- 80.150 918.0 30.0
- 80.200 867.0 26.1
- 80.250 907.0 29.6
- 80.300 889.0 26.4
- 80.350 880.0 26.2
- 80.400 876.0 29.8
- 80.450 924.0 27.0
- 80.500 912.0 30.1
- 80.550 899.0 26.5
- 80.600 918.0 26.8
- 80.650 858.0 29.4
- 80.700 971.0 27.9
- 80.750 895.0 29.8
- 80.800 909.0 27.0
- 80.850 846.0 25.8
- 80.900 881.0 26.6
- 80.950 904.0 26.9
- 81.000 884.0 26.5
- 81.050 921.0 27.2
- 81.100 917.0 27.1
- 81.150 899.0 26.9
- 81.200 988.0 28.1
- 81.250 998.0 28.1
- 81.300 979.0 28.0
- 81.350 961.0 27.7
- 81.400 1026.0 28.6
- 81.450 1050.0 29.0
- 81.500 1023.0 28.4
- 81.550 1000.0 28.3
- 81.600 1078.0 29.2
- 81.650 1014.0 28.4
- 81.700 1021.0 28.4
- 81.750 1014.0 28.2
- 81.800 1060.0 28.9
- 81.850 1116.0 29.7
- 81.900 1174.0 30.3
- 81.950 1188.0 30.7
- 82.000 1210.0 30.7
- 82.050 1257.0 31.5
- 82.100 1296.0 31.7
- 82.150 1335.0 32.4
- 82.200 1359.0 32.4
- 82.250 1393.0 32.9
- 82.300 1408.0 32.9
- 82.350 1351.0 32.3
- 82.400 1237.0 30.7
- 82.450 1245.0 31.0
- 82.500 1216.0 30.4
- 82.550 1138.0 29.5
- 82.600 1078.0 28.5
- 82.650 990.0 27.5
- 82.700 1021.0 27.7
- 82.750 986.0 27.3
- 82.800 929.0 26.4
- 82.850 958.0 26.9
- 82.900 939.0 26.4
- 82.950 962.0 26.9
- 83.000 924.0 26.1
- 83.050 960.0 26.8
- 83.100 881.0 25.5
- 83.150 917.0 26.1
- 83.200 922.0 26.1
- 83.250 941.0 26.4
- 83.300 979.0 26.9
- 83.350 940.0 26.4
- 83.400 924.0 26.1
- 83.450 906.0 25.8
- 83.500 945.0 26.3
- 83.550 929.0 26.2
- 83.600 932.0 26.1
- 83.650 907.0 25.8
- 83.700 994.0 27.0
- 83.750 978.0 26.8
- 83.800 958.0 26.5
- 83.850 901.0 25.7
- 83.900 931.0 26.1
- 83.950 925.0 26.1
- 84.000 945.0 26.3
- 84.050 951.0 26.4
- 84.100 991.0 26.9
- 84.150 965.0 26.6
- 84.200 946.0 26.5
- 84.250 948.0 26.4
- 84.300 946.0 26.4
- 84.350 1037.0 27.6
- 84.400 989.0 27.0
- 84.450 1022.0 27.5
- 84.500 977.0 26.8
- 84.550 1028.0 27.5
- 84.600 1058.0 27.9
- 84.650 1022.0 27.5
- 84.700 1047.0 27.9
- 84.750 1010.0 27.3
- 84.800 1088.0 28.4
- 84.850 1059.0 27.9
- 84.900 1147.0 29.2
- 84.950 1146.0 29.2
- 85.000 1156.0 29.3
- 85.050 1172.0 29.4
- 85.100 1176.0 29.5
- 85.150 1217.0 30.0
- 85.200 1221.0 30.2
- 85.250 1184.0 29.6
- 85.300 1143.0 29.2
- 85.350 1223.0 30.1
- 85.400 1220.0 30.2
- 85.450 1203.0 30.0
- 85.500 1235.0 30.4
- 85.550 1280.0 31.0
- 85.600 1257.0 30.7
- 85.650 1246.0 30.5
- 85.700 1200.0 30.1
- 85.750 1175.0 29.6
- 85.800 1265.0 31.0
- 85.850 1243.0 30.5
- 85.900 1246.0 30.9
- 85.950 1176.0 29.8
- 86.000 1286.0 31.2
- 86.050 1174.0 29.8
- 86.100 1240.0 30.9
- 86.150 1149.0 29.7
- 86.200 1199.0 30.4
- 86.250 1173.0 29.9
- 86.300 1107.0 29.3
- 86.350 1102.0 29.1
- 86.400 1094.0 29.2
- 86.450 1042.0 28.3
- 86.500 1113.0 29.4
- 86.550 1012.0 28.0
- 86.600 1057.0 28.7
- 86.650 1038.0 28.5
- 86.700 1043.0 28.5
- 86.750 994.0 27.8
- 86.800 987.0 27.9
- 86.850 986.0 27.7
- 86.900 999.0 28.1
- 86.950 1002.0 27.9
- 87.000 1013.0 28.2
- 87.050 992.0 27.9
- 87.100 985.0 27.9
- 87.150 1012.0 28.3
- 87.200 1022.0 28.3
- 87.250 1026.0 28.4
- 87.300 920.0 27.0
- 87.350 977.0 27.8
- 87.400 979.0 27.9
- 87.450 974.0 27.6
- 87.500 1020.0 28.3
- 87.550 977.0 27.9
- 87.600 1008.0 28.2
- 87.650 968.0 27.7
- 87.700 1022.0 28.2
- 87.750 1003.0 28.1
- 87.800 987.0 27.8
- 87.850 997.0 28.0
- 87.900 1033.0 28.4
- 87.950 1021.0 28.2
- 88.000 977.0 27.6
- 88.050 991.0 27.9
- 88.100 1018.0 28.2
- 88.150 978.0 27.7
- 88.200 987.0 27.5
- 88.250 1010.0 28.0
- 88.300 1050.0 28.5
- 88.350 1058.0 28.8
- 88.400 1020.0 27.9
- 88.450 1011.0 27.9
- 88.500 1062.0 28.5
- 88.550 1040.0 28.4
- 88.600 1078.0 28.7
- 88.650 1070.0 28.6
- 88.700 1034.0 28.0
- 88.750 1010.0 27.7
- 88.800 1033.0 27.9
- 88.850 1047.0 28.3
- 88.900 1083.0 28.4
- 88.950 1068.0 28.4
- 89.000 1064.0 28.1
- 89.050 1070.0 28.5
- 89.100 1066.0 28.2
- 89.150 1107.0 28.7
- 89.200 1134.0 29.1
- 89.250 1127.0 28.9
- 89.300 1179.0 29.6
- 89.350 1173.0 29.6
- 89.400 1208.0 29.7
- 89.450 1172.0 29.5
- 89.500 1181.0 29.5
- 89.550 1289.0 30.9
- 89.600 1334.0 31.4
- 89.650 1291.0 30.7
- 89.700 1386.0 32.0
- 89.750 1341.0 31.4
- 89.800 1377.0 31.8
- 89.850 1380.0 31.9
- 89.900 1423.0 32.2
- 89.950 1450.0 32.7
- 90.000 1562.0 33.9
- 90.050 1580.0 34.1
- 90.100 1661.0 35.0
- 90.150 1706.0 35.3
- 90.200 1802.0 36.5
- 90.250 1894.0 37.3
- 90.300 2000.0 38.4
- 90.350 2073.0 39.1
- 90.400 2239.0 40.4
- 90.450 2218.0 40.4
- 90.500 2274.0 40.9
- 90.550 2225.0 40.5
- 90.600 2230.0 40.5
- 90.650 2140.0 39.5
- 90.700 2038.0 38.8
- 90.750 1863.0 37.0
- 90.800 1738.0 35.8
- 90.850 1609.0 34.4
- 90.900 1513.0 33.3
- 90.950 1392.0 32.1
- 91.000 1287.0 30.8
- 91.050 1252.0 30.4
- 91.100 1188.0 29.5
- 91.150 1155.0 29.1
- 91.200 1124.0 28.7
- 91.250 1103.0 28.5
- 91.300 1042.0 27.8
- 91.350 1104.0 28.5
- 91.400 1028.0 27.5
- 91.450 1038.0 27.6
- 91.500 1005.0 27.2
- 91.550 1069.0 28.1
- 91.600 1007.0 27.2
- 91.650 1012.0 27.3
- 91.700 1029.0 27.5
- 91.750 999.0 27.1
- 91.800 1008.0 27.3
- 91.850 986.0 26.9
- 91.900 992.0 27.1
- 91.950 989.0 26.9
- 92.000 995.0 27.1
- 92.050 954.0 26.6
- 92.100 963.0 26.7
- 92.150 996.0 27.1
- 92.200 960.0 26.8
- 92.250 980.0 26.9
- 92.300 969.0 27.0
- 92.350 979.0 26.9
- 92.400 980.0 27.1
- 92.450 999.0 27.3
- 92.500 993.0 27.3
- 92.550 973.0 27.1
- 92.600 1011.0 27.6
- 92.650 996.0 27.4
- 92.700 1039.0 28.2
- 92.750 999.0 27.4
- 92.800 1016.0 28.0
- 92.850 1069.0 28.4
- 92.900 1020.0 28.0
- 92.950 1053.0 28.5
- 93.000 1060.0 28.5
- 93.050 1051.0 28.5
- 93.100 1077.0 28.8
- 93.150 1047.0 28.4
- 93.200 1122.0 29.7
- 93.250 1115.0 29.2
- 93.300 1127.0 30.0
- 93.350 1165.0 30.0
- 93.400 1201.0 30.6
- 93.450 1166.0 30.2
- 93.500 1226.0 30.9
- 93.550 1214.0 31.1
- 93.600 1263.0 31.5
- 93.650 1259.0 31.4
- 93.700 1255.0 31.6
- 93.750 1227.0 30.9
- 93.800 1302.0 32.4
- 93.850 1157.0 30.1
- 93.900 1149.0 30.1
- 93.950 1126.0 30.0
- 94.000 1069.0 29.1
- 94.050 1030.0 28.8
- 94.100 1034.0 28.5
- 94.150 1023.0 28.4
- 94.200 1025.0 28.6
- 94.250 958.0 27.5
- 94.300 978.0 28.0
- 94.350 952.0 27.4
- 94.400 989.0 27.9
- 94.450 977.0 28.0
- 94.500 1029.0 28.4
- 94.550 991.0 28.2
- 94.600 989.0 27.8
- 94.650 972.0 27.7
- 94.700 1011.0 28.2
- 94.750 937.0 27.1
- 94.800 979.0 27.8
- 94.850 971.0 27.6
- 94.900 961.0 27.3
- 94.950 916.0 26.8
- 95.000 924.0 26.6
- 95.050 933.0 27.1
- 95.100 942.0 26.9
- 95.150 955.0 27.2
- 95.200 963.0 27.2
- 95.250 1005.0 27.8
- 95.300 923.0 26.6
- 95.350 951.0 27.1
- 95.400 952.0 26.9
- 95.450 930.0 26.7
- 95.500 933.0 26.5
- 95.550 937.0 26.9
- 95.600 964.0 27.0
- 95.650 960.0 27.0
- 95.700 928.0 26.5
- 95.750 931.0 26.4
- 95.800 918.0 26.1
- 95.850 889.0 25.9
- 95.900 954.0 26.7
- 95.950 972.0 27.1
- 96.000 935.0 26.3
- 96.050 885.0 25.6
- 96.100 954.0 26.6
- 96.150 977.0 27.0
- 96.200 911.0 26.0
- 96.250 908.0 25.9
- 96.300 972.0 26.7
- 96.350 957.0 26.7
- 96.400 958.0 26.6
- 96.450 918.0 26.1
- 96.500 940.0 26.2
- 96.550 904.0 25.7
- 96.600 917.0 26.0
- 96.650 982.0 26.9
- 96.700 912.0 25.9
- 96.750 961.0 26.5
- 96.800 947.0 26.3
- 96.850 917.0 26.0
- 96.900 965.0 26.6
- 96.950 1001.0 27.2
- 97.000 917.0 25.8
- 97.050 881.0 25.4
- 97.100 917.0 26.0
- 97.150 891.0 25.5
- 97.200 925.0 26.0
- 97.250 947.0 26.2
- 97.300 910.0 25.8
- 97.350 921.0 26.0
- 97.400 965.0 26.5
- 97.450 927.0 26.1
- 97.500 967.0 26.4
- 97.550 943.0 26.3
- 97.600 896.0 25.6
- 97.650 972.0 26.6
- 97.700 940.0 26.2
- 97.750 911.0 25.6
- 97.800 974.0 26.7
- 97.850 932.0 26.1
- 97.900 969.0 26.6
- 97.950 1010.0 27.2
- 98.000 983.0 26.7
- 98.050 1007.0 27.1
- 98.100 1060.0 27.9
- 98.150 1054.0 27.7
- 98.200 1047.0 27.6
- 98.250 1082.0 28.0
- 98.300 1089.0 28.3
- 98.350 1133.0 28.9
- 98.400 1124.0 28.8
- 98.450 1143.0 28.9
- 98.500 1155.0 29.1
- 98.550 1157.0 29.2
- 98.600 1117.0 28.7
- 98.650 1161.0 29.2
- 98.700 1200.0 29.7
- 98.750 1133.0 28.8
- 98.800 1090.0 28.5
- 98.850 1031.0 27.6
- 98.900 1069.0 28.3
- 98.950 1012.0 27.2
- 99.000 1076.0 28.4
- 99.050 1068.0 28.3
- 99.100 1012.0 27.6
- 99.150 987.0 27.2
- 99.200 975.0 27.0
- 99.250 948.0 26.7
- 99.300 967.0 27.2
- 99.350 1000.0 27.5
- 99.400 994.0 27.7
- 99.450 933.0 26.4
- 99.500 928.0 26.8
- 99.550 927.0 26.6
- 99.600 968.0 27.3
- 99.650 973.0 27.3
- 99.700 946.0 26.9
- 99.750 952.0 27.1
- 99.800 939.0 27.0
- 99.850 980.0 27.4
- 99.900 1012.0 28.2
- 99.950 949.0 27.0
- 100.000 964.0 27.5
- 100.050 943.0 27.0
- 100.100 971.0 27.5
- 100.150 980.0 27.7
- 100.200 999.0 27.8
- 100.250 982.0 27.7
- 100.300 988.0 27.8
- 100.350 986.0 27.7
- 100.400 919.0 26.9
- 100.450 1030.0 28.3
- 100.500 1011.0 28.2
- 100.550 988.0 27.8
- 100.600 980.0 27.6
- 100.650 979.0 27.7
- 100.700 989.0 27.7
- 100.750 1002.0 28.0
- 100.800 985.0 27.7
- 100.850 967.0 27.4
- 100.900 984.0 27.7
- 100.950 945.0 27.1
- 101.000 1048.0 28.5
- 101.050 1017.0 28.2
- 101.100 965.0 27.4
- 101.150 1029.0 28.3
- 101.200 1004.0 27.9
- 101.250 1040.0 28.5
- 101.300 1046.0 28.4
- 101.350 1017.0 28.1
- 101.400 1081.0 28.8
- 101.450 1113.0 29.4
- 101.500 1077.0 28.6
- 101.550 1106.0 29.2
- 101.600 1116.0 29.1
- 101.650 1154.0 29.8
- 101.700 1174.0 29.8
- 101.750 1232.0 30.6
- 101.800 1240.0 30.5
- 101.850 1265.0 31.0
- 101.900 1291.0 31.2
- 101.950 1379.0 32.3
- 102.000 1343.0 31.5
- 102.050 1354.0 31.9
- 102.100 1341.0 31.6
- 102.150 1434.0 32.8
- 102.200 1391.0 32.1
- 102.250 1444.0 32.7
- 102.300 1514.0 33.4
- 102.350 1505.0 33.4
- 102.400 1515.0 33.5
- 102.450 1530.0 33.7
- 102.500 1546.0 33.7
- 102.550 1532.0 33.6
- 102.600 1615.0 34.4
- 102.650 1510.0 33.4
- 102.700 1582.0 34.1
- 102.750 1558.0 33.8
- 102.800 1454.0 32.6
- 102.850 1494.0 33.1
- 102.900 1448.0 32.6
- 102.950 1391.0 32.0
- 103.000 1424.0 32.3
- 103.050 1396.0 31.9
- 103.100 1306.0 31.0
- 103.150 1325.0 31.2
- 103.200 1194.0 29.6
- 103.250 1233.0 30.1
- 103.300 1153.0 29.0
- 103.350 1181.0 29.4
- 103.400 1154.0 29.1
- 103.450 1141.0 28.9
- 103.500 1091.0 28.4
- 103.550 1103.0 28.4
- 103.600 1094.0 28.3
- 103.650 1082.0 28.2
- 103.700 1027.0 27.4
- 103.750 1022.0 27.4
- 103.800 1062.0 27.9
- 103.850 1020.0 27.3
- 103.900 1057.0 27.8
- 103.950 991.0 26.9
- 104.000 995.0 27.1
- 104.050 1005.0 27.1
- 104.100 1005.0 27.1
- 104.150 1005.0 27.1
- 104.200 1009.0 27.2
- 104.250 997.0 27.1
- 104.300 1042.0 27.6
- 104.350 973.0 26.7
- 104.400 978.0 26.7
- 104.450 966.0 26.6
- 104.500 983.0 27.0
- 104.550 941.0 26.2
- 104.600 988.0 27.0
- 104.650 959.0 26.4
- 104.700 991.0 27.0
- 104.750 1015.0 27.4
- 104.800 995.0 27.1
- 104.850 1002.0 27.2
- 104.900 995.0 27.0
- 104.950 922.0 26.1
- 105.000 1014.0 27.5
- 105.050 999.0 27.2
- 105.100 898.0 25.8
- 105.150 919.0 26.0
- 105.200 993.0 27.2
- 105.250 1009.0 27.4
- 105.300 966.0 27.0
- 105.350 975.0 26.9
- 105.400 924.0 26.3
- 105.450 965.0 26.8
- 105.500 963.0 27.0
- 105.550 945.0 26.7
- 105.600 960.0 26.9
- 105.650 993.0 27.3
- 105.700 1010.0 27.7
- 105.750 986.0 27.3
- 105.800 1060.0 28.5
- 105.850 981.0 27.2
- 105.900 1053.0 28.3
- 105.950 1008.0 27.6
- 106.000 1083.0 28.8
- 106.050 1055.0 28.4
- 106.100 1103.0 29.0
- 106.150 1049.0 28.2
- 106.200 1053.0 28.5
- 106.250 1118.0 29.2
- 106.300 1172.0 30.2
- 106.350 1112.0 29.1
- 106.400 1281.0 31.4
- 106.450 1176.0 30.1
- 106.500 1209.0 30.5
- 106.550 1290.0 31.6
- 106.600 1342.0 32.1
- 106.650 1347.0 32.2
- 106.700 1422.0 33.2
- 106.750 1449.0 33.4
- 106.800 1555.0 34.8
- 106.850 1596.0 35.0
- 106.900 1651.0 35.7
- 106.950 1623.0 35.5
- 107.000 1676.0 35.9
- 107.050 1696.0 36.3
- 107.100 1749.0 36.6
- 107.150 1829.0 37.6
- 107.200 1786.0 37.0
- 107.250 1732.0 36.5
- 107.300 1718.0 36.4
- 107.350 1582.0 34.8
- 107.400 1544.0 34.3
- 107.450 1578.0 34.8
- 107.500 1549.0 34.4
- 107.550 1496.0 33.9
- 107.600 1427.0 32.9
- 107.650 1284.0 31.3
- 107.700 1290.0 31.2
- 107.750 1178.0 29.9
- 107.800 1172.0 29.7
- 107.850 1119.0 29.2
- 107.900 1194.0 29.9
- 107.950 1143.0 29.4
- 108.000 1086.0 28.5
- 108.050 1105.0 28.8
- 108.100 1067.0 28.2
- 108.150 1051.0 28.0
- 108.200 1025.0 27.5
- 108.250 1073.0 28.3
- 108.300 1033.0 27.6
- 108.350 1029.0 27.7
- 108.400 1065.0 28.0
- 108.450 1011.0 27.3
- 108.500 1040.0 27.6
- 108.550 1020.0 27.4
- 108.600 984.0 26.8
- 108.650 1073.0 28.1
- 108.700 1061.0 27.8
- 108.750 980.0 26.7
- 108.800 1009.0 27.0
- 108.850 1036.0 27.5
- 108.900 1021.0 27.2
- 108.950 993.0 26.9
- 109.000 971.0 26.6
- 109.050 987.0 26.7
- 109.100 985.0 26.7
- 109.150 1029.0 27.3
- 109.200 1062.0 27.7
- 109.250 1075.0 28.0
- 109.300 1085.0 28.0
- 109.350 1050.0 27.5
- 109.400 1033.0 27.3
- 109.450 1072.0 27.8
- 109.500 1088.0 28.1
- 109.550 1117.0 28.4
- 109.600 1120.0 28.4
- 109.650 1141.0 28.7
- 109.700 1137.0 28.7
- 109.750 1142.0 28.8
- 109.800 1085.0 28.0
- 109.850 1159.0 28.9
- 109.900 1167.0 29.1
- 109.950 1185.0 29.3
- 110.000 1174.0 29.2
- 110.050 1188.0 29.3
- 110.100 1168.0 29.1
- 110.150 1252.0 30.1
- 110.200 1292.0 30.7
- 110.250 1256.0 30.2
- 110.300 1356.0 31.5
- 110.350 1373.0 31.5
- 110.400 1300.0 30.8
- 110.450 1365.0 31.5
- 110.500 1363.0 31.5
- 110.550 1394.0 31.9
- 110.600 1382.0 31.7
- 110.650 1397.0 31.9
- 110.700 1339.0 31.3
- 110.750 1305.0 30.8
- 110.800 1317.0 31.0
- 110.850 1361.0 31.5
- 110.900 1289.0 30.7
- 110.950 1220.0 29.8
- 111.000 1192.0 29.5
- 111.050 1197.0 29.6
- 111.100 1180.0 29.4
- 111.150 1160.0 29.1
- 111.200 1132.0 28.9
- 111.250 1144.0 28.9
- 111.300 1117.0 28.7
- 111.350 1041.0 27.6
- 111.400 1140.0 29.0
- 111.450 1086.0 28.3
- 111.500 1101.0 28.5
- 111.550 1072.0 28.1
- 111.600 1076.0 28.4
- 111.650 1095.0 28.5
- 111.700 994.0 27.3
- 111.750 1015.0 27.4
- 111.800 1074.0 28.4
- 111.850 1040.0 27.9
- 111.900 1035.0 28.0
- 111.950 980.0 27.1
- 112.000 987.0 27.2
- 112.050 1036.0 27.9
- 112.100 1005.0 27.7
- 112.150 913.0 26.3
- 112.200 970.0 27.3
- 112.250 953.0 26.8
- 112.300 960.0 27.1
- 112.350 892.0 26.1
- 112.400 969.0 27.3
- 112.450 941.0 26.8
- 112.500 929.0 26.7
- 112.550 951.0 27.0
- 112.600 993.0 27.8
- 112.650 927.0 26.7
- 112.700 923.0 26.8
- 112.750 969.0 27.2
- 112.800 906.0 26.5
- 112.850 912.0 26.6
- 112.900 917.0 26.6
- 112.950 946.0 27.2
- 113.000 941.0 26.9
- 113.050 985.0 27.6
- 113.100 961.0 27.4
- 113.150 928.0 26.8
- 113.200 950.0 27.3
- 113.250 973.0 27.4
- 113.300 965.0 27.4
- 113.350 869.0 26.0
- 113.400 878.0 26.0
- 113.450 950.0 27.3
- 113.500 948.0 27.0
- 113.550 930.0 26.9
- 113.600 965.0 27.4
- 113.650 902.0 26.4
- 113.700 969.0 27.5
- 113.750 934.0 26.8
- 113.800 862.0 25.8
- 113.850 925.0 26.8
- 113.900 910.0 26.4
- 113.950 1011.0 28.1
- 114.000 953.0 26.9
- 114.050 935.0 26.8
- 114.100 963.0 27.1
- 114.150 894.0 26.1
- 114.200 913.0 26.4
- 114.250 937.0 26.7
- 114.300 1000.0 27.4
- 114.350 991.0 27.5
- 114.400 921.0 26.3
- 114.450 938.0 26.8
- 114.500 934.0 26.4
- 114.550 961.0 26.9
- 114.600 943.0 26.5
- 114.650 978.0 27.1
- 114.700 947.0 26.7
- 114.750 971.0 27.0
- 114.800 980.0 26.9
- 114.850 985.0 27.1
- 114.900 999.0 27.1
- 114.950 975.0 27.0
- 115.000 1016.0 27.3
- 115.050 986.0 27.0
- 115.100 1001.0 27.0
- 115.150 1029.0 27.5
- 115.200 1044.0 27.7
- 115.250 1038.0 27.6
- 115.300 1094.0 28.2
- 115.350 1031.0 27.5
- 115.400 1135.0 28.8
- 115.450 1081.0 28.2
- 115.500 1100.0 28.3
- 115.550 1154.0 29.0
- 115.600 1200.0 29.5
- 115.650 1180.0 29.4
- 115.700 1226.0 29.9
- 115.750 1121.0 28.6
- 115.800 1201.0 29.5
- 115.850 1252.0 30.1
- 115.900 1244.0 30.1
- 115.950 1253.0 30.2
- 116.000 1270.0 30.4
- 116.050 1315.0 30.8
- 116.100 1229.0 29.8
- 116.150 1297.0 30.8
- 116.200 1288.0 30.7
- 116.250 1244.0 30.1
- 116.300 1234.0 33.4
- 116.350 1174.0 29.2
- 116.400 1097.0 28.4
- 116.450 1142.0 28.9
- 116.500 1154.0 29.0
- 116.550 1166.0 32.5
- 116.600 1064.0 27.8
- 116.650 1026.0 27.4
- 116.700 1074.0 28.0
- 116.750 1060.0 27.8
- 116.800 995.0 30.2
- 116.850 1025.0 27.3
- 116.900 1061.0 28.0
- 116.950 972.0 26.7
- 117.000 1023.0 27.4
- 117.050 1030.0 30.7
- 117.100 1013.0 27.2
- 117.150 989.0 27.0
- 117.200 1058.0 27.9
- 117.250 997.0 27.0
- 117.300 956.0 29.7
- 117.350 984.0 26.8
- 117.400 1006.0 27.3
- 117.450 966.0 26.6
- 117.500 1039.0 27.7
- 117.550 1051.0 31.2
- 117.600 1013.0 27.4
- 117.650 993.0 27.2
- 117.700 1010.0 27.5
- 117.750 1015.0 27.4
- 117.800 997.0 30.7
- 117.850 1007.0 27.4
- 117.900 979.0 27.1
- 117.950 994.0 27.3
- 118.000 1000.0 27.5
- 118.050 974.0 30.4
- 118.100 1001.0 27.5
- 118.150 1001.0 27.4
- 118.200 1015.0 27.8
- 118.250 1075.0 28.5
- 118.300 1048.0 31.8
- 118.350 1047.0 28.1
- 118.400 1080.0 28.7
- 118.450 1081.0 28.7
- 118.500 1114.0 29.3
- 118.550 1061.0 32.0
- 118.600 1101.0 29.1
- 118.650 1085.0 28.8
- 118.700 1095.0 29.1
- 118.750 1144.0 29.7
- 118.800 1189.0 30.4
- 118.850 1102.0 29.1
- 118.900 1173.0 30.2
- 118.950 1162.0 30.0
- 119.000 1196.0 30.6
- 119.050 1194.0 30.5
- 119.100 1272.0 31.5
- 119.150 1257.0 31.3
- 119.200 1291.0 31.8
- 119.250 1373.0 32.8
- 119.300 1381.0 32.9
- 119.350 1459.0 33.7
- 119.400 1467.0 33.8
- 119.450 1545.0 34.8
- 119.500 1498.0 34.2
- 119.550 1551.0 34.8
- 119.600 1548.0 34.7
- 119.650 1538.0 34.6
- 119.700 1549.0 34.8
- 119.750 1521.0 34.5
- 119.800 1608.0 35.4
- 119.850 1522.0 34.4
- 119.900 1532.0 34.4
- 119.950 1539.0 34.7
- 120.000 1481.0 33.8
- 120.050 1500.0 34.2
- 120.100 1469.0 33.6
- 120.150 1500.0 34.0
- 120.200 1406.0 32.9
- 120.250 1409.0 33.0
- 120.300 1405.0 32.8
- 120.350 1430.0 33.1
- 120.400 1429.0 33.1
- 120.450 1428.0 33.2
- 120.500 1419.0 32.8
- 120.550 1434.0 33.1
- 120.600 1415.0 32.7
- 120.650 1398.0 32.7
- 120.700 1345.0 31.9
- 120.750 1374.0 32.2
- 120.800 1447.0 33.0
- 120.850 1392.0 32.5
- 120.900 1340.0 31.7
- 120.950 1330.0 31.7
- 121.000 1194.0 29.7
- 121.050 1301.0 31.2
- 121.100 1226.0 30.1
- 121.150 1234.0 30.3
- 121.200 1184.0 29.5
- 121.250 1163.0 29.3
- 121.300 1075.0 28.1
- 121.350 1145.0 29.1
- 121.400 1057.0 27.7
- 121.450 1052.0 27.8
- 121.500 1080.0 28.0
- 121.550 1058.0 27.9
- 121.600 1032.0 27.4
- 121.650 1046.0 27.6
- 121.700 1037.0 27.4
- 121.750 1055.0 27.7
- 121.800 982.0 26.7
- 121.850 999.0 27.0
- 121.900 983.0 26.6
- 121.950 987.0 26.8
- 122.000 1005.0 26.9
- 122.050 959.0 26.4
- 122.100 984.0 26.7
- 122.150 939.0 26.0
- 122.200 968.0 26.5
- 122.250 977.0 26.6
- 122.300 1012.0 27.0
- 122.350 969.0 26.5
- 122.400 943.0 26.1
- 122.450 1003.0 27.0
- 122.500 972.0 26.5
- 122.550 996.0 26.8
- 122.600 1013.0 27.1
- 122.650 960.0 26.3
- 122.700 944.0 26.2
- 122.750 939.0 26.0
- 122.800 956.0 26.2
- 122.850 956.0 26.3
- 122.900 947.0 26.2
- 122.950 906.0 25.6
- 123.000 959.0 26.3
- 123.050 976.0 26.5
- 123.100 974.0 26.5
- 123.150 939.0 26.1
- 123.200 944.0 26.1
- 123.250 1018.0 27.1
- 123.300 918.0 25.6
- 123.350 940.0 26.0
- 123.400 967.0 26.5
- 123.450 903.0 25.6
- 123.500 966.0 26.4
- 123.550 915.0 25.6
- 123.600 936.0 26.1
- 123.650 1022.0 27.3
- 123.700 946.0 26.2
- 123.750 949.0 26.2
- 123.800 925.0 25.8
- 123.850 966.0 26.5
- 123.900 988.0 26.9
- 123.950 959.0 26.4
- 124.000 966.0 26.5
- 124.050 964.0 26.3
- 124.100 964.0 26.5
- 124.150 944.0 26.3
- 124.200 983.0 26.8
- 124.250 966.0 26.5
- 124.300 1006.0 27.0
- 124.350 968.0 26.6
- 124.400 980.0 27.0
- 124.450 978.0 26.7
- 124.500 957.0 26.6
- 124.550 1019.0 27.2
- 124.600 975.0 26.9
- 124.650 991.0 27.1
- 124.700 994.0 27.2
- 124.750 1018.0 27.4
- 124.800 991.0 27.1
- 124.850 986.0 27.0
- 124.900 1037.0 28.0
- 124.950 1039.0 27.8
- 125.000 1010.0 27.6
- 125.050 1065.0 28.1
- 125.100 1054.0 28.2
- 125.150 1106.0 28.9
- 125.200 1103.0 28.8
- 125.250 1089.0 28.7
- 125.300 1124.0 29.1
- 125.350 1186.0 29.9
- 125.400 1210.0 30.4
- 125.450 1216.0 30.3
- 125.500 1189.0 30.2
- 125.550 1244.0 30.7
- 125.600 1249.0 30.9
- 125.650 1208.0 30.4
- 125.700 1201.0 30.2
- 125.750 1168.0 29.9
- 125.800 1238.0 30.7
- 125.850 1218.0 30.5
- 125.900 1238.0 30.8
- 125.950 1163.0 29.8
- 126.000 1140.0 29.6
- 126.050 1063.0 28.4
- 126.100 1110.0 29.2
- 126.150 1045.0 28.3
- 126.200 1085.0 28.8
- 126.250 999.0 27.7
- 126.300 1023.0 27.8
- 126.350 1031.0 28.1
- 126.400 993.0 27.7
- 126.450 972.0 27.2
- 126.500 1036.0 28.2
- 126.550 947.0 26.8
- 126.600 993.0 27.5
- 126.650 924.0 26.7
- 126.700 957.0 26.9
- 126.750 953.0 27.0
- 126.800 927.0 26.4
- 126.850 892.0 26.1
- 126.900 944.0 26.8
- 126.950 946.0 26.8
- 127.000 937.0 26.5
- 127.050 933.0 26.5
- 127.100 953.0 26.8
- 127.150 955.0 26.9
- 127.200 917.0 26.2
- 127.250 950.0 26.7
- 127.300 941.0 26.3
- 127.350 955.0 26.8
- 127.400 858.0 25.2
- 127.450 911.0 26.0
- 127.500 978.0 26.9
- 127.550 943.0 26.4
- 127.600 959.0 26.6
- 127.650 965.0 26.8
- 127.700 974.0 26.7
- 127.750 985.0 27.0
- 127.800 950.0 26.2
- 127.850 961.0 26.6
- 127.900 958.0 26.4
- 127.950 955.0 26.4
- 128.000 960.0 26.4
- 128.050 951.0 26.2
- 128.100 951.0 26.3
- 128.150 969.0 26.6
- 128.200 982.0 26.6
- 128.250 972.0 26.6
- 128.300 982.0 26.5
- 128.350 925.0 25.9
- 128.400 979.0 26.5
- 128.450 958.0 26.3
- 128.500 942.0 26.0
- 128.550 996.0 26.7
- 128.600 1010.0 27.0
- 128.650 1016.0 27.0
- 128.700 998.0 26.8
- 128.750 1031.0 27.2
- 128.800 990.0 26.6
- 128.850 949.0 26.1
- 128.900 996.0 26.6
- 128.950 1016.0 27.0
- 129.000 990.0 26.5
- 129.050 1034.0 27.1
- 129.100 963.0 26.2
- 129.150 984.0 26.4
- 129.200 1028.0 27.1
- 129.250 992.0 26.6
- 129.300 1028.0 27.1
- 129.350 1001.0 26.7
- 129.400 1034.0 27.0
- 129.450 1003.0 26.8
- 129.500 1005.0 26.7
- 129.550 992.0 26.6
- 129.600 1028.0 27.1
- 129.650 982.0 26.4
- 129.700 1047.0 27.4
- 129.750 966.0 26.1
- 129.800 940.0 25.8
- 129.850 978.0 26.4
- 129.900 952.0 25.9
- 129.950 979.0 26.5
- 130.000 940.0 25.7
- 130.050 956.0 26.1
- 130.100 960.0 26.2
- 130.150 974.0 26.2
- 130.200 942.0 26.0
- 130.250 952.0 25.9
- 130.300 975.0 26.4
- 130.350 937.0 25.9
- 130.400 918.0 25.6
- 130.450 903.0 25.5
- 130.500 927.0 25.7
- 130.550 941.0 25.9
- 130.600 958.0 26.3
- 130.650 891.0 25.2
- 130.700 920.0 25.8
- 130.750 960.0 26.2
- 130.800 904.0 25.6
- 130.850 943.0 26.1
- 130.900 948.0 26.2
- 130.950 912.0 25.7
- 131.000 931.0 26.1
- 131.050 884.0 25.3
- 131.100 922.0 26.1
- 131.150 911.0 25.7
- 131.200 973.0 26.8
- 131.250 902.0 25.6
- 131.300 933.0 26.4
- 131.350 900.0 25.8
- 131.400 969.0 26.9
- 131.450 910.0 26.0
- 131.500 947.0 26.7
- 131.550 896.0 25.8
- 131.600 894.0 26.0
- 131.650 906.0 25.9
- 131.700 914.0 26.3
- 131.750 874.0 25.6
- 131.800 885.0 26.0
- 131.850 935.0 26.6
- 131.900 914.0 26.4
- 131.950 933.0 26.6
- 132.000 880.0 26.0
- 132.050 919.0 26.4
- 132.100 918.0 26.5
- 132.150 864.0 25.6
- 132.200 912.0 26.5
- 132.250 903.0 26.3
- 132.300 907.0 26.4
- 132.350 912.0 26.4
- 132.400 864.0 25.8
- 132.450 862.0 25.7
- 132.500 882.0 26.1
- 132.550 864.0 25.8
- 132.600 903.0 26.2
- 132.650 886.0 26.1
- 132.700 920.0 26.5
- 132.750 925.0 26.8
- 132.800 885.0 26.1
- 132.850 887.0 26.0
- 132.900 919.0 26.6
- 132.950 882.0 25.9
- 133.000 919.0 26.6
- 133.050 910.0 26.5
- 133.100 814.0 24.9
- 133.150 933.0 26.8
- 133.200 909.0 26.3
- 133.250 864.0 25.8
- 133.300 866.0 25.7
- 133.350 915.0 26.4
- 133.400 910.0 26.3
- 133.450 927.0 26.6
- 133.500 882.0 25.9
- 133.550 850.0 25.4
- 133.600 937.0 26.5
- 133.650 909.0 26.4
- 133.700 941.0 26.6
- 133.750 881.0 25.9
- 133.800 951.0 26.6
- 133.850 921.0 26.3
- 133.900 922.0 26.3
- 133.950 916.0 26.2
- 134.000 904.0 25.9
- 134.050 866.0 25.4
- 134.100 943.0 26.3
- 134.150 951.0 26.7
- 134.200 911.0 25.9
- 134.250 939.0 26.5
- 134.300 921.0 26.0
- 134.350 928.0 26.1
- 134.400 937.0 26.2
- 134.450 932.0 26.2
- 134.500 988.0 26.9
- 134.550 980.0 26.8
- 134.600 958.0 26.3
- 134.650 951.0 26.4
- 134.700 945.0 26.2
- 134.750 928.0 26.1
- 134.800 933.0 26.0
- 134.850 888.0 25.4
- 134.900 945.0 26.1
- 134.950 997.0 27.0
- 135.000 1016.0 27.1
- 135.050 953.0 26.2
- 135.100 963.0 26.4
- 135.150 960.0 26.3
- 135.200 989.0 26.8
- 135.250 950.0 26.2
- 135.300 941.0 26.0
- 135.350 962.0 26.4
- 135.400 939.0 26.0
- 135.450 964.0 26.5
- 135.500 954.0 26.2
- 135.550 969.0 26.4
- 135.600 979.0 26.5
- 135.650 993.0 26.7
- 135.700 952.0 26.2
- 135.750 974.0 26.5
- 135.800 1054.0 27.5
- 135.850 987.0 26.6
- 135.900 931.0 25.8
- 135.950 966.0 26.4
- 136.000 1024.0 27.1
- 136.050 947.0 26.1
- 136.100 961.0 26.3
- 136.150 1053.0 27.4
- 136.200 1038.0 27.3
- 136.250 1002.0 26.8
- 136.300 1039.0 27.3
- 136.350 1062.0 27.6
- 136.400 1008.0 26.7
- 136.450 1069.0 27.7
- 136.500 1068.0 27.7
- 136.550 1092.0 28.0
- 136.600 1044.0 27.4
- 136.650 1062.0 27.4
- 136.700 1097.0 28.1
- 136.750 1077.0 27.8
- 136.800 1102.0 28.2
- 136.850 999.0 26.8
- 136.900 1053.0 27.6
- 136.950 988.0 26.7
- 137.000 1030.0 27.3
- 137.050 1034.0 27.3
- 137.100 964.0 26.5
- 137.150 1012.0 27.0
- 137.200 1011.0 27.3
- 137.250 1008.0 27.0
- 137.300 998.0 27.1
- 137.350 992.0 26.9
- 137.400 1002.0 27.3
- 137.450 1009.0 27.3
- 137.500 1014.0 27.4
- 137.550 1025.0 27.5
- 137.600 951.0 26.6
- 137.650 954.0 26.6
- 137.700 975.0 27.0
- 137.750 989.0 27.1
- 137.800 975.0 27.1
- 137.850 942.0 26.4
- 137.900 973.0 27.1
- 137.950 929.0 26.4
- 138.000 951.0 26.8
- 138.050 916.0 26.3
- 138.100 969.0 27.2
- 138.150 926.0 26.5
- 138.200 993.0 27.6
- 138.250 952.0 26.8
- 138.300 869.0 25.8
- 138.350 930.0 26.6
- 138.400 964.0 27.2
- 138.450 934.0 26.8
- 138.500 953.0 27.0
- 138.550 894.0 26.3
- 138.600 950.0 27.0
- 138.650 915.0 26.5
- 138.700 924.0 26.8
- 138.750 971.0 27.2
- 138.800 962.0 27.3
- 138.850 902.0 26.4
- 138.900 979.0 27.6
- 138.950 930.0 26.8
- 139.000 927.0 26.6
- 139.050 947.0 27.1
- 139.100 900.0 26.3
- 139.150 949.0 27.1
- 139.200 1001.0 27.8
- 139.250 964.0 27.1
- 139.300 895.0 26.2
- 139.350 959.0 27.2
- 139.400 910.0 26.4
- 139.450 953.0 27.1
- 139.500 910.0 26.3
- 139.550 998.0 27.7
- 139.600 955.0 27.0
- 139.650 961.0 27.1
- 139.700 934.0 26.5
- 139.750 928.0 26.5
- 139.800 1014.0 27.6
- 139.850 954.0 26.9
- 139.900 969.0 27.0
- 139.950 995.0 27.4
- 140.000 1043.0 27.9
- 140.050 976.0 27.1
- 140.100 1025.0 27.6
- 140.150 948.0 26.6
- 140.200 1051.0 27.8
- 140.250 986.0 27.1
- 140.300 1020.0 27.3
- 140.350 1065.0 28.1
- 140.400 1024.0 27.3
- 140.450 1030.0 27.5
- 140.500 1063.0 27.9
- 140.550 1098.0 28.3
- 140.600 1086.0 28.1
- 140.650 1069.0 27.9
- 140.700 1069.0 27.7
- 140.750 1024.0 27.3
- 140.800 1124.0 28.4
- 140.850 1112.0 28.4
- 140.900 1136.0 28.6
- 140.950 1163.0 28.9
- 141.000 1177.0 29.1
- 141.050 1141.0 28.6
- 141.100 1222.0 29.6
- 141.150 1123.0 28.4
- 141.200 1199.0 29.3
- 141.250 1182.0 29.2
- 141.300 1180.0 29.0
- 141.350 1198.0 29.3
- 141.400 1187.0 29.1
- 141.450 1261.0 30.0
- 141.500 1130.0 28.4
- 141.550 1147.0 28.6
- 141.600 1168.0 28.9
- 141.650 1145.0 28.6
- 141.700 1173.0 28.9
- 141.750 1123.0 28.3
- 141.800 1186.0 29.1
- 141.850 1193.0 29.2
- 141.900 1109.0 28.1
- 141.950 1107.0 28.1
- 142.000 1143.0 28.6
- 142.050 1093.0 27.9
- 142.100 1051.0 27.4
- 142.150 1090.0 27.9
- 142.200 1083.0 27.8
- 142.250 1092.0 27.9
- 142.300 1057.0 27.5
- 142.350 1086.0 27.8
- 142.400 1089.0 28.0
- 142.450 1054.0 27.4
- 142.500 990.0 26.5
- 142.550 1006.0 26.8
- 142.600 1031.0 27.2
- 142.650 1006.0 26.9
- 142.700 1018.0 27.0
- 142.750 989.0 26.5
- 142.800 979.0 26.5
- 142.850 1029.0 27.2
- 142.900 949.0 26.2
- 142.950 1018.0 27.0
- 143.000 973.0 26.4
- 143.050 934.0 25.9
- 143.100 1006.0 27.0
- 143.150 964.0 26.4
- 143.200 964.0 26.5
- 143.250 941.0 25.9
- 143.300 998.0 26.9
- 143.350 980.0 26.7
- 143.400 1014.0 27.3
- 143.450 954.0 26.3
- 143.500 1046.0 27.6
- 143.550 1002.0 27.0
- 143.600 1005.0 27.3
- 143.650 991.0 27.0
- 143.700 998.0 27.2
- 143.750 917.0 25.8
- 143.800 1006.0 27.4
- 143.850 935.0 26.3
- 143.900 965.0 27.0
- 143.950 972.0 26.9
- 144.000 981.0 27.1
- 144.050 928.0 26.3
- 144.100 945.0 26.8
- 144.150 922.0 26.4
- 144.200 915.0 26.5
- 144.250 999.0 27.4
- 144.300 966.0 27.1
- 144.350 996.0 27.5
- 144.400 941.0 27.0
- 144.450 961.0 27.1
- 144.500 954.0 27.0
- 144.550 999.0 27.5
- 144.600 954.0 27.2
- 144.650 958.0 27.2
- 144.700 971.0 27.5
- 144.750 922.0 26.6
- 144.800 930.0 26.8
- 144.850 896.0 26.3
- 144.900 958.0 27.2
- 144.950 948.0 27.2
- 145.000 947.0 30.4
- 145.050 908.0 26.5
- 145.100 975.0 27.5
- 145.150 970.0 27.4
- 145.200 927.0 27.0
- 145.250 976.0 30.9
- 145.300 948.0 27.0
- 145.350 1012.0 28.0
- 145.400 947.0 27.0
- 145.450 957.0 27.4
- 145.500 889.0 29.4
- 145.550 978.0 27.4
- 145.600 951.0 27.1
- 145.650 904.0 26.4
- 145.700 960.0 27.4
- 145.750 973.0 30.8
- 145.800 988.0 27.4
- 145.850 927.0 26.7
- 145.900 942.0 26.8
- 145.950 942.0 27.1
- 146.000 960.0 30.2
- 146.050 972.0 27.2
- 146.100 916.0 26.2
- 146.150 970.0 27.2
- 146.200 974.0 27.2
- 146.250 949.0 30.0
- 146.300 952.0 26.7
- 146.350 1051.0 28.2
- 146.400 979.0 27.0
- 146.450 967.0 27.1
- 146.500 966.0 29.7
- 146.550 999.0 27.3
- 146.600 978.0 26.9
- 146.650 989.0 27.2
- 146.700 984.0 26.8
- 146.750 972.0 29.8
- 146.800 959.0 26.5
- 146.850 1002.0 27.2
- 146.900 1009.0 27.0
- 146.950 964.0 26.5
- 147.000 979.0 29.4
- 147.050 1000.0 27.1
- 147.100 998.0 26.9
- 147.150 990.0 26.8
- 147.200 982.0 26.5
- 147.250 1001.0 29.8
- 147.300 1012.0 27.0
- 147.350 1097.0 28.2
- 147.400 970.0 26.4
- 147.450 1019.0 27.0
- 147.500 977.0 26.4
- 147.550 986.0 26.7
- 147.600 1029.0 27.1
- 147.650 1082.0 27.9
- 147.700 1037.0 27.2
- 147.750 1047.0 27.3
- 147.800 1064.0 27.7
- 147.850 1048.0 27.4
- 147.900 1036.0 27.3
- 147.950 1056.0 27.4
- 148.000 1029.0 27.0
- 148.050 1074.0 27.8
- 148.100 1060.0 27.5
- 148.150 1068.0 27.7
- 148.200 1076.0 27.7
- 148.250 1078.0 27.7
- 148.300 1069.0 31.0
- 148.350 1070.0 27.6
- 148.400 1046.0 27.4
- 148.450 1120.0 28.3
- 148.500 1073.0 27.6
- 148.550 1077.0 31.1
- 148.600 1102.0 31.4
- 148.650 1120.0 28.3
- 148.700 1132.0 31.8
- 148.750 1153.0 28.6
- 148.800 1163.0 37.3
- 148.850 1119.0 31.7
- 148.900 1126.0 28.4
- 148.950 1155.0 32.1
- 149.000 1148.0 28.7
- 149.050 1178.0 37.5
- 149.100 1192.0 32.7
- 149.150 1231.0 29.6
- 149.200 1228.0 33.2
- 149.250 1209.0 29.4
- 149.300 1205.0 37.7
- 149.350 1233.0 33.2
- 149.400 1336.0 34.5
- 149.450 1322.0 34.5
- 149.500 1302.0 30.5
- 149.550 1333.0 39.7
- 149.600 1387.0 35.6
- 149.650 1323.0 34.3
- 149.700 1370.0 35.1
- 149.750 1346.0 31.0
- 149.800 1466.0 50.8
- 149.850 1443.0 36.3
- 149.900 1494.0 36.3
- 149.950 1451.0 36.1
- 150.000 1530.0 33.3
- 150.050 1622.0 53.4
- 150.100 1584.0 38.5
- 150.150 1543.0 36.9
- 150.200 1685.0 39.4
- 150.250 1593.0 33.9
- 150.300 1715.0 56.2
- 150.350 1708.0 39.9
- 150.400 1742.0 39.7
- 150.450 1790.0 40.5
- 150.500 1755.0 36.0
- 150.550 1720.0 56.3
- 150.600 1808.0 41.6
- 150.650 1853.0 41.0
- 150.700 1833.0 41.4
- 150.750 1745.0 35.9
- 150.800 1860.0 48.3
- 150.850 1825.0 41.8
- 150.900 1874.0 41.6
- 150.950 1794.0 41.0
- 151.000 1735.0 36.1
- 151.050 1724.0 46.4
- 151.100 1762.0 36.8
- 151.150 1637.0 39.0
- 151.200 1737.0 36.1
- 151.250 1656.0 35.2
- 151.300 1715.0 40.2
- 151.350 1635.0 35.4
- 151.400 1619.0 39.0
- 151.450 1529.0 33.9
- 151.500 1452.0 33.1
- 151.550 1434.0 36.8
- 151.600 1527.0 34.3
- 151.650 1319.0 35.2
- 151.700 1350.0 32.0
- 151.750 1356.0 32.0
- 151.800 1300.0 35.2
- 151.850 1324.0 31.9
- 151.900 1211.0 30.1
- 151.950 1212.0 30.2
- 152.000 1221.0 30.5
- 152.050 1201.0 33.8
- 152.100 1216.0 30.4
- 152.150 1150.0 29.3
- 152.200 1178.0 29.9
- 152.250 1081.0 28.7
- 152.300 1048.0 28.1
- 152.350 1059.0 28.4
- 152.400 1062.0 28.3
- 152.450 1059.0 28.3
- 152.500 1009.0 27.5
- 152.550 1036.0 27.9
- 152.600 1046.0 28.0
- 152.650 1029.0 27.8
- 152.700 1066.0 28.1
- 152.750 1050.0 28.1
- 152.800 1065.0 28.1
- 152.850 1051.0 28.1
- 152.900 1019.0 27.4
- 152.950 1020.0 27.5
- 153.000 1038.0 27.6
- 153.050 949.0 26.5
- 153.100 1027.0 27.4
- 153.150 1016.0 27.3
- 153.200 978.0 26.7
- 153.250 994.0 27.0
- 153.300 993.0 26.8
- 153.350 977.0 26.8
- 153.400 979.0 26.5
- 153.450 994.0 26.9
- 153.500 949.0 26.1
- 153.550 969.0 26.5
- 153.600 984.0 26.6
- 153.650 960.0 26.3
- 153.700 992.0 26.6
- 153.750 957.0 26.2
- 153.800 943.0 25.9
- 153.850 909.0 25.5
- 153.900 975.0 26.3
- 153.950 1014.0 26.9
- 154.000 971.0 26.3
- 154.050 958.0 26.1
- 154.100 966.0 26.2
- 154.150 990.0 26.6
- 154.200 983.0 26.3
- 154.250 922.0 25.6
- 154.300 988.0 26.5
- 154.350 922.0 25.6
- 154.400 960.0 26.0
- 154.450 1009.0 26.7
- 154.500 969.0 26.1
- 154.550 987.0 26.4
- 154.600 950.0 25.9
- 154.650 1015.0 26.8
- 154.700 988.0 26.4
- 154.750 973.0 26.1
- 154.800 946.0 25.8
- 154.850 987.0 26.4
- 154.900 983.0 26.3
- 154.950 972.0 26.2
- 155.000 985.0 26.3
- 155.050 979.0 26.3
- 155.100 948.0 25.8
- 155.150 994.0 26.5
- 155.200 1022.0 26.9
- 155.250 1010.0 26.6
- 155.300 974.0 26.3
- 155.350 986.0 26.4
- 155.400 1008.0 26.7
- 155.450 1033.0 27.0
- 155.500 1038.0 27.1
- 155.550 973.0 26.2
- 155.600 1001.0 26.6
- 155.650 1017.0 26.8
- 155.700 1000.0 26.7
- 155.750 982.0 26.3
- 155.800 984.0 26.5
- 155.850 1014.0 26.8
- 155.900 1062.0 27.5
- 155.950 954.0 26.1
- 156.000 1023.0 27.0
- 156.050 1050.0 27.4
- 156.100 1008.0 26.9
- 156.150 1029.0 27.1
- 156.200 1003.0 27.0
- 156.250 1053.0 27.4
- 156.300 1023.0 27.5
- 156.350 1003.0 26.9
- 156.400 1013.0 27.3
- 156.450 1064.0 27.9
- 156.500 1030.0 27.5
- 156.550 1065.0 28.0
- 156.600 1051.0 27.9
- 156.650 1057.0 27.9
- 156.700 1072.0 28.3
- 156.750 1094.0 28.3
- 156.800 1018.0 27.7
- 156.850 1059.0 28.0
- 156.900 1073.0 28.5
- 156.950 1017.0 27.6
- 157.000 1030.0 27.9
- 157.050 1076.0 28.5
- 157.100 1057.0 28.4
- 157.150 993.0 27.4
- 157.200 1014.0 27.9
- 157.250 1024.0 27.8
- 157.300 1054.0 28.5
- 157.350 1022.0 27.9
- 157.400 1081.0 29.0
- 157.450 1047.0 28.4
- 157.500 961.0 27.2
- 157.550 1048.0 28.4
- 157.600 1047.0 28.5
- 157.650 1053.0 28.6
- 157.700 1063.0 28.9
- 157.750 1005.0 27.8
- 157.800 1029.0 28.3
- 157.850 1050.0 28.6
- 157.900 1034.0 28.5
- 157.950 1050.0 28.7
- 158.000 1005.0 28.0
- 158.050 996.0 27.8
- 158.100 1013.0 28.2
- 158.150 1002.0 28.0
- 158.200 1027.0 28.4
- 158.250 1046.0 28.5
- 158.300 1011.0 28.1
- 158.350 1014.0 28.2
- 158.400 986.0 27.8
- 158.450 1018.0 28.3
- 158.500 977.0 27.5
- 158.550 1041.0 28.5
- 158.600 1033.0 28.3
- 158.650 1052.0 28.7
- 158.700 1007.0 28.0
- 158.750 1037.0 28.4
- 158.800 1004.0 27.7
- 158.850 979.0 27.6
- 158.900 1015.0 27.9
- 158.950 1064.0 28.7
- 159.000 1083.0 28.8
- 159.050 1013.0 27.8
- 159.100 984.0 27.4
- 159.150 1013.0 27.8
- 159.200 1048.0 28.3
- 159.250 1026.0 28.0
- 159.300 1003.0 27.4
- 159.350 1038.0 28.1
- 159.400 1020.0 27.6
- 159.450 975.0 27.2
- 159.500 1054.0 28.0
- 159.550 992.0 27.2
- 159.600 994.0 27.2
- 159.650 1048.0 28.0
- 159.700 1054.0 27.9
- 159.750 1034.0 27.7
- 159.800 1004.0 27.0
- 159.850 1030.0 27.7
- 159.900 1016.0 27.1
- 159.950 1087.0 28.3
- 160.000 1076.0 28.0
- 160.050 1007.0 27.0
- 160.100 1071.0 27.9
- 160.150 1031.0 27.4
- 160.200 1014.0 27.0
- 160.250 1017.0 27.2
- 160.300 1011.0 26.8
- 160.350 991.0 26.8
- 160.400 1042.0 27.3
- 160.450 959.0 26.3
- 160.500 1010.0 27.0
- 160.550 1039.0 27.2
- 160.600 1013.0 26.9
- 160.650 1041.0 27.3
- 160.700 1066.0 27.6
- 160.750 1004.0 26.9
- 160.800 999.0 26.5
- 160.850 1040.0 27.2
- 160.900 1004.0 26.8
- 160.950 967.0 26.3
- 161.000 991.0 26.7
- 161.050 1020.0 26.9
- 161.100 999.0 26.7
- 161.150 974.0 26.5
- 161.200 1031.0 27.2
- 161.250 987.0 26.9
- 161.300 981.0 26.6
- 161.350 984.0 26.7
- 161.400 990.0 27.0
- 161.450 1030.0 27.3
- 161.500 1052.0 28.0
- 161.550 1019.0 27.4
- 161.600 1013.0 27.6
- 161.650 1041.0 28.0
- 161.700 1013.0 27.7
- 161.750 975.0 27.2
- 161.800 1061.0 28.4
- 161.850 1020.0 27.9
- 161.900 1028.0 28.4
- 161.950 996.0 27.8
- 162.000 972.0 27.9
- 162.050 1039.0 28.6
- 162.100 981.0 28.1
- 162.150 979.0 28.2
- 162.200 987.0 28.4
- 162.250 1011.0 29.0
- 162.300 1031.0 29.2
- 162.350 951.0 28.0
- 162.400 965.0 28.6
- 162.450 965.0 28.5
- 162.500 980.0 29.1
- 162.550 960.0 28.7
- 162.600 958.0 28.5
- 162.650 1001.0 29.6
- 162.700 994.0 33.0
- 162.750 958.0 29.0
- 162.800 970.0 33.0
- 162.850 986.0 29.3
- 162.900 977.0 33.2
- 162.950 979.0 33.1
- 163.000 941.0 32.7
- 163.050 975.0 33.3
- 163.100 992.0 33.1
- 163.150 1049.0 34.6
- 163.200 989.0 38.9
- 163.250 1009.0 34.1
- 163.300 949.0 38.4
- 163.350 998.0 33.5
- 163.400 902.0 37.6
- 163.450 947.0 38.2
- 163.500 956.0 38.6
- 163.550 922.0 38.1
- 163.600 937.0 37.7
- 163.650 973.0 39.1
- 163.700 933.0 47.1
- 163.750 993.0 39.4
- 163.800 1010.0 49.2
- 163.850 956.0 38.1
- 163.900 1030.0 49.4
- 163.950 920.0 46.9
- 164.000 917.0 46.8
- 164.050 997.0 48.9
- 164.100 911.0 45.3
- 164.150 1020.0 49.1
- 164.200 1008.0 69.2
- 164.250 949.0 47.6
- 164.300 973.0 68.5
- 164.350 956.0 46.3
- 164.400 1059.0 70.5
- 164.450 874.0 64.4
- 164.500 1035.0 69.6
- 164.550 994.0 69.1
- 164.600 965.0 63.5
- 164.650 902.0 64.9
- 164.700 939.0 66.2
- 164.750 976.0 67.5
- 164.800 919.0 63.7
- 164.850 863.0 60.0
diff --git a/tmp/unsorted/short.py b/tmp/unsorted/short.py
deleted file mode 100644
index 18b7c7441..000000000
--- a/tmp/unsorted/short.py
+++ /dev/null
@@ -1,94 +0,0 @@
-from easydiffraction import Experiment
-from easydiffraction import Experiments
-from easydiffraction.utils.logging import logger
-from easydiffraction import Project
-from easydiffraction import SampleModel
-from easydiffraction import SampleModels
-from easydiffraction.experiments.categories.linked_phases import LinkedPhase
-from easydiffraction.experiments.categories.linked_phases import LinkedPhases
-from easydiffraction.sample_models.categories.atom_sites import AtomSite
-from easydiffraction.sample_models.categories.atom_sites import AtomSites
-from easydiffraction.sample_models.categories.cell import Cell
-from easydiffraction.sample_models.categories.space_group import SpaceGroup
-
-Logger.configure(mode=Logger.Mode.LOG, level=Logger.Level.DEBUG)
-# Logger.configure(mode=Logger.Mode.RAISE, level=Logger.Level.DEBUG)
-
-sg = SpaceGroup()
-sg.name_h_m = 'P n m a'
-sg.it_coordinate_system_code = 'cab'
-
-cell = Cell()
-cell.length_a = 5.4603
-
-site = AtomSite()
-site.type_symbol = 'Si'
-
-sites = AtomSites()
-sites.add_from_args(site)
-
-model = SampleModel(name='mdl')
-model.space_group = sg
-model.cell = cell
-model.atom_sites = sites
-
-
-print(model.parameters)
-
-models = SampleModels()
-# models.add_from_args(model)
-models.add_from_cif_path('tutorials/data/lbco.cif')
-
-print(models)
-for p in models.parameters:
- print(p)
-print(models.as_cif)
-
-exp = Experiment(name='hrpt', data_path='tutorials/data/hrpt_lbco.xye')
-print(exp)
-
-linked_phases = LinkedPhases()
-linked_phase = LinkedPhase(id='lbco', scale=10.0)
-linked_phases.add_from_args(linked_phase)
-
-exp.linked_phases = linked_phases
-
-exp.instrument.setup_wavelength = 1.494
-exp.instrument.calib_twotheta_offset = 0.6
-
-exp.peak.broad_gauss_u = 0.1
-exp.peak.broad_gauss_v = -0.1
-exp.peak.broad_gauss_w = 0.1
-exp.peak.broad_lorentz_y = 0.1
-
-# exp.background.add_from_args(x=10, y=170)
-# exp.background.add_from_args(x=30, y=170)
-# exp.background.add_from_args(x=50, y=170)
-# exp.background.add_from_args(x=110, y=170)
-# exp.background.add_from_args(x=165, y=170)
-
-experiments = Experiments()
-print(experiments)
-
-experiments.add(exp)
-print(experiments)
-for p in experiments.parameters:
- print(p)
-# print(experiments.as_cif)
-
-
-proj = Project(name='PROJ')
-print(proj)
-
-proj.sample_models = models
-proj.experiments = experiments
-
-
-# proj.plotter.engine = 'plotly'
-
-proj.plot_meas_vs_calc(expt_name='hrpt', x_min=38, x_max=41)
-
-
-models['lbco'].cell.length_a.free = True
-print('----', models['lbco'].cell.length_a.free)
-# proj.analysis.display.free_params()
diff --git a/tmp/unsorted/short2.py b/tmp/unsorted/short2.py
deleted file mode 100644
index 63751a271..000000000
--- a/tmp/unsorted/short2.py
+++ /dev/null
@@ -1,228 +0,0 @@
-import easydiffraction as ed
-from easydiffraction import Experiment
-from easydiffraction import Experiments
-from easydiffraction import Project
-from easydiffraction import SampleModel
-from easydiffraction import SampleModels
-from easydiffraction.experiments.categories.background import LineSegmentBackground
-from easydiffraction.experiments.categories.background import Point
-from easydiffraction.experiments.categories.linked_phases import LinkedPhase
-from easydiffraction.experiments.categories.linked_phases import LinkedPhases
-from easydiffraction.sample_models.categories.atom_sites import AtomSite
-from easydiffraction.sample_models.categories.atom_sites import AtomSites
-from easydiffraction.sample_models.categories.cell import Cell
-from easydiffraction.sample_models.categories.space_group import SpaceGroup
-
-# from easydiffraction.core.parameters import BaseDescriptor, GenericDescriptor, Descriptor
-# from easydiffraction.core.parameters import BaseParameter, GenericParameter, Parameter
-
-# Logger.configure(mode=Logger.Mode.VERBOSE, level=Logger.Level.DEBUG)
-# Logger.configure(mode=Logger.Mode.COMPACT, level=Logger.Level.DEBUG)
-
-
-# bd = BaseDescriptor()
-# gd = GenericDescriptor()
-# d = Descriptor()
-
-# bp = BaseParameter()
-# gp = GenericParameter()
-# p = Parameter()
-
-project = ed.Project()
-
-
-sg = SpaceGroup()
-sg.name_h_m = 'P n m a'
-sg.name_h_m = 33.3
-
-sg.it_coordinate_system_code = 'cab'
-
-cell = Cell()
-cell.length_a = 5.4603
-cell.length_a = '5.4603'
-cell.length_a = -5.4603
-
-cell.lengtha = -5.4603
-
-
-exit()
-
-site = AtomSite()
-site.label = 'Si'
-site.type_symbol = 'Si'
-
-sites = AtomSites()
-sites.add_from_args(site)
-
-
-model = SampleModel(name='mdl')
-model.space_group = sg
-model.cell = cell
-model.atom_sites = sites
-
-site = AtomSite()
-site.label = 'Tb'
-site.type_symbol = 'Tb'
-sites.add_from_args(site)
-
-
-# model.cell = 'k'
-
-
-# print(model.parameters)
-for p in model.parameters:
- print(p)
-
-# exit()
-
-print('================================')
-
-models = SampleModels()
-# models.add_from_args(model)
-models.add_from_cif_path('tutorials/data/lbco.cif')
-
-print(models)
-for p in models.parameters:
- print(p)
-print(models.as_cif)
-
-exp = Experiment(name='hrpt', data_path='tutorials/data/hrpt_lbco.xye')
-print(exp)
-
-linked_phases = LinkedPhases()
-linked_phase = LinkedPhase(id='lbco', scale=10.0)
-linked_phases.add_from_args(linked_phase)
-
-exp.linked_phases = linked_phases
-
-exp.instrument.setup_wavelength = 1.494
-exp.instrument.calib_twotheta_offset = 0.6
-
-exp.peak.broad_gauss_u = 0.1
-exp.peak.broad_gauss_v = -0.1
-exp.peak.broad_gauss_w = 0.1
-exp.peak.broad_lorentz_y = 0.1
-
-bkg = LineSegmentBackground()
-point1 = Point(x=10, y=170)
-point2 = Point(x=30, y=170)
-point3 = Point(x=50, y=170)
-point4 = Point(x=110, y=170)
-point5 = Point(x=165, y=170)
-bkg.add_from_args(point1)
-bkg.add_from_args(point2)
-bkg.add_from_args(point3)
-bkg.add_from_args(point4)
-bkg.add_from_args(point5)
-# exp.background.add_from_args(bkg)
-exp.background = bkg
-
-# exp.background.add_from_args(x=10, y=170)
-# exp.background.add_from_args(x=30, y=170)
-# exp.background.add_from_args(x=50, y=170)
-# exp.background.add_from_args(x=110, y=170)
-# exp.background.add_from_args(x=165, y=170)
-
-experiments = Experiments()
-print(experiments)
-
-experiments.add(exp)
-print(experiments)
-for p in experiments.parameters:
- print(p)
-# print(experiments.as_cif)
-# exit()
-
-proj = Project(name='PROJ')
-print(proj)
-
-proj.sample_models = models
-proj.experiments = experiments
-
-
-proj.plot_meas_vs_calc(expt_name='hrpt', x_min=38, x_max=41)
-
-
-def set_as_online():
- m = proj.sample_models['lbco']
- m.cell.length_a = 3.8909
- m.cell.length_b = 3.8909
- m.cell.length_c = 3.8909
- m.atom_sites['La'].b_iso = 0.5052
- m.atom_sites['Ba'].b_iso = 0.5049
- m.atom_sites['Co'].b_iso = 0.2370
- m.atom_sites['O'].b_iso = 1.3935
- e = proj.experiments['hrpt']
- e.linked_phases['lbco'].scale = 9.1351
- e.instrument.calib_twotheta_offset = 0.6226
- e.peak.broad_gauss_u = 0.0816
- e.peak.broad_gauss_v = -0.1159
- e.peak.broad_gauss_w = 0.1204
- e.peak.broad_lorentz_y = 0.0844
- e.background[10].y = 168.5585
- e.background[30].y = 164.3357
- e.background[50].y = 166.8881
- e.background[110].y = 175.4006
- e.background[165].y = 174.2813
-
-
-def set_as_initial():
- m = proj.sample_models['lbco']
- m.cell.length_a.uncertainty = None
- m.cell.length_a = 3.885
- m.cell.length_b = 3.885
- m.cell.length_c = 3.885
- # m.atom_sites['La'].b_iso = 0.5052
- # m.atom_sites['Ba'].b_iso = 0.5049
- # m.atom_sites['Co'].b_iso = 0.2370
- # m.atom_sites['O'].b_iso = 1.3935
- # e = proj.experiments['hrpt']
- # e.linked_phases['lbco'].scale = 9.1351
- # e.instrument.calib_twotheta_offset = 0.6226
- # e.peak.broad_gauss_u = 0.0816
- # e.peak.broad_gauss_v = -0.1159
- # e.peak.broad_gauss_w = 0.1204
- # e.peak.broad_lorentz_y = 0.0844
- # e.background[10].y = 168.5585
- # e.background[30].y = 164.3357
- # e.background[50].y = 166.8881
- # e.background[110].y = 175.4006
- # e.background[165].y = 174.2813
-
-
-set_as_online()
-# set_as_initial()
-proj.plotter.engine = 'plotly'
-proj.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)
-# exit()
-
-models['lbco'].cell.length_a.free = True
-
-models['lbco'].atom_sites['La'].b_iso.free = True
-models['lbco'].atom_sites['Ba'].b_iso.free = True
-models['lbco'].atom_sites['Co'].b_iso.free = True
-models['lbco'].atom_sites['O'].b_iso.free = True
-
-exp.instrument.calib_twotheta_offset.free = True
-
-exp.peak.broad_gauss_u.free = True
-exp.peak.broad_gauss_v.free = True
-exp.peak.broad_gauss_w.free = True
-exp.peak.broad_lorentz_y.free = True
-
-exp.background[10].y.free = True
-exp.background[30].y.free = True
-exp.background[50].y.free = True
-exp.background[110].y.free = True
-exp.background[165].y.free = True
-
-exp.linked_phases['lbco'].scale.free = True
-
-
-print('----', models['lbco'].cell.length_a.free)
-proj.analysis.display.free_params()
-proj.analysis.fit()
-
-# proj.plotter.engine = 'plotly'
-# proj.plot_meas_vs_calc(expt_name='hrpt')
-proj.plot_meas_vs_calc(expt_name='hrpt', x_min=38, x_max=41)
diff --git a/tmp/unsorted/short3.py b/tmp/unsorted/short3.py
deleted file mode 100644
index a261a9441..000000000
--- a/tmp/unsorted/short3.py
+++ /dev/null
@@ -1,138 +0,0 @@
-# %% [markdown]
-# # Structure Refinement: LBCO, HRPT
-#
-# This minimalistic example is designed to be as compact as possible for
-# a Rietveld refinement of a crystal structure using constant-wavelength
-# neutron powder diffraction data for La0.5Ba0.5CoO3 from HRPT at PSI.
-#
-# It does not contain any advanced features or options, and includes no
-# comments or explanations—these can be found in the other tutorials.
-# Default values are used for all parameters if not specified. Only
-# essential and self-explanatory code is provided.
-#
-# The example is intended for users who are already familiar with the
-# EasyDiffraction library and want to quickly get started with a simple
-# refinement. It is also useful for those who want to see what a
-# refinement might look like in code. For a more detailed explanation of
-# the code, please refer to the other tutorials.
-
-# %% [markdown]
-# ## Import Library
-
-# %%
-import easydiffraction as ed
-
-# %% [markdown]
-# ## Step 1: Define Project
-
-# %%
-project = ed.Project()
-
-project.plotter.x_min = 38
-project.plotter.x_max = 41
-
-# %% [markdown]
-# ## Step 2: Define Sample Model
-
-# %%
-project.sample_models.add_minimal(name='lbco')
-
-# %%
-sample_model = project.sample_models['lbco']
-
-# %%
-sample_model.space_group.name_h_m = 'P m -3 m'
-sample_model.space_group.it_coordinate_system_code = '1'
-
-# %%
-sample_model.cell.length_a = 3.88
-
-# %%
-sample_model.atom_sites.add_from_args(
- label='La', type_symbol='La', fract_x=0., fract_y=0., fract_z=0, b_iso=0.5, occupancy=0.5,
- wyckoff_letter='a'
-)
-sample_model.atom_sites.add_from_args(
- label='Ba', type_symbol='Ba', fract_x=0, fract_y=0, fract_z=0, b_iso=0.5, occupancy=0.5, wyckoff_letter='a'
-)
-sample_model.atom_sites.add_from_args(label='Co', type_symbol='Co', fract_x=0.5, fract_y=0.5, fract_z=0.5, b_iso=0.5, wyckoff_letter='b')
-sample_model.atom_sites.add_from_args(label='O', type_symbol='O', fract_x=0, fract_y=0.5, fract_z=0.5, b_iso=0.5, wyckoff_letter='c')
-
-# %% [markdown]
-# ## Step 3: Define Experiment
-
-# %%
-ed.download_from_repository('hrpt_lbco.xye', destination='data')
-
-# %%
-project.experiments.add_from_data_path(
- name='hrpt',
- data_path='data/hrpt_lbco.xye',
- sample_form='powder',
- beam_mode='constant wavelength',
- radiation_probe='neutron',
-)
-
-# %%
-experiment = project.experiments['hrpt']
-
-# %%
-experiment.instrument.setup_wavelength = 1.494
-experiment.instrument.calib_twotheta_offset = 0.6
-
-# %%
-experiment.peak.broad_gauss_u = 0.1
-experiment.peak.broad_gauss_v = -0.1
-experiment.peak.broad_gauss_w = 0.1
-experiment.peak.broad_lorentz_y = 0.1
-
-# %%
-experiment.background.add_from_args(x=10, y=170)
-experiment.background.add_from_args(x=30, y=170)
-experiment.background.add_from_args(x=50, y=170)
-experiment.background.add_from_args(x=110, y=170)
-
-# %%
-experiment.excluded_regions.add_from_args(start=0, end=5)
-experiment.excluded_regions.add_from_args(start=130, end=180)
-
-# %%
-experiment.linked_phases.add_from_args(id='lbco', scale=10.0)
-
-# %% [markdown]
-# ## Step 4: Perform Analysis
-
-# %%
-sample_model.cell.length_a.free = True
-
-sample_model.atom_sites['La'].b_iso.free = True
-sample_model.atom_sites['Ba'].b_iso.free = True
-sample_model.atom_sites['Co'].b_iso.free = True
-sample_model.atom_sites['O'].b_iso.free = True
-
-# %%
-experiment.instrument.calib_twotheta_offset.free = True
-
-experiment.peak.broad_gauss_u.free = True
-experiment.peak.broad_gauss_v.free = True
-experiment.peak.broad_gauss_w.free = True
-experiment.peak.broad_lorentz_y.free = True
-
-experiment.background['10'].y.free = True
-experiment.background['30'].y.free = True
-experiment.background['50'].y.free = True
-experiment.background['110'].y.free = True
-
-experiment.linked_phases['lbco'].scale.free = True
-
-
-# sample_model.show_as_cif()
-# experiment.show_as_cif()
-# exit()
-
-
-# %%
-project.analysis.fit()
-
-# %%
-project.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)
diff --git a/tmp/unsorted/short5.py b/tmp/unsorted/short5.py
deleted file mode 100644
index 843b252d2..000000000
--- a/tmp/unsorted/short5.py
+++ /dev/null
@@ -1,316 +0,0 @@
-from __future__ import annotations
-
-from typing import ParamSpec
-from typing import TypeVar
-
-from easydiffraction.analysis.categories.constraints import Constraint
-from easydiffraction.analysis.categories.constraints import Constraints
-from easydiffraction.sample_models.categories.atom_sites import AtomSite # type: ignore
-from easydiffraction.sample_models.categories.atom_sites import AtomSites # type: ignore
-from easydiffraction.sample_models.categories.cell import Cell # type: ignore
-from easydiffraction.sample_models.categories.space_group import SpaceGroup # type: ignore
-from easydiffraction.sample_models.sample_model.base import SampleModelBase
-from easydiffraction.sample_models.sample_model.factory import SampleModel
-from easydiffraction.sample_models.sample_models import SampleModels
-from easydiffraction.utils.logging import log # type: ignore
-
-P = ParamSpec('P')
-R = TypeVar('R')
-
-
-# ---------------------------------------------------------------------
-# Example usage
-# ---------------------------------------------------------------------
-if __name__ == '__main__':
-
- log.info('-------- Types --------')
-
- s1 = AtomSite(label='La', type_symbol='La')
- s1.fract_x.value = 1.234
- assert s1.fract_x.value == 1.234
- s1.fract_x.value = 'xyz'
- assert s1.fract_x.value == 1.234
- s1.fract_x = 'qwe'
- assert s1.fract_x.value == 1.234
-
- assert s1.fract_x.free == False
- s1.fract_x.free = True
- assert s1.fract_x.free == True
- s1.fract_x.free = 'abc'
- assert s1.fract_x.free == True
-
- s1 = AtomSite(label='Si', type_symbol='Si', fract_x='uuuu')
- assert s1.fract_x.value == 0.0
-
- log.info('-------- Cell --------')
-
- c = Cell()
- assert c.length_b.value == 10.0
- c = Cell(length_b=-8.8)
- assert c.length_b.value == 10.0
- c = Cell(length_b='7.7') # type: ignore
- assert c.length_b.value == 10.0
- c = Cell(length_b=6.6)
- assert c.length_b.value == 6.6
- c.length_b.value = -5.5
- assert c.length_b.value == 6.6
- c.length_b = -4.4
- assert c.length_b.value == 6.6
- c.length_b = 3.3
- assert c.length_b.value == 3.3
- c.length_b = 2222.2
- assert c.length_b.value == 3.3
- c.length_b.free = 'qwe' # type: ignore
- assert c.length_b.free is False
- c.length_b.fre = 'fre' # type: ignore
- assert getattr(c.length_b, 'fre', None) is None
- c.length_b.qwe = 'qwe' # type: ignore
- assert getattr(c.length_b, 'qwe', None) is None
- c.length_b.description = 'desc' # type: ignore
- assert c.length_b.description == 'Length of the b axis of the unit cell.' # type: ignore
- assert c.length_b._public_readonly_attrs() == {'as_cif', 'constrained',
- 'description',
- 'unique_name', 'name', 'parameters',
- 'uid', 'units'}
- assert c.length_b._public_writable_attrs() == {'fit_max', 'fit_min', 'free', 'uncertainty',
- 'value'}
- c.qwe = 'qwe'
- assert getattr(c.length_b, 'qwe', None) is None
- assert c.length_b._cif_handler.names == ['_cell.length_b']
- assert len(c.length_b._minimizer_uid) == 16
- assert (c.parameters[1].value == 3.3) # type: ignore
-
- log.info('-------- SpaceGroup --------')
-
- sg = SpaceGroup()
- assert sg.name_h_m.value == 'P 1'
- sg = SpaceGroup(name_h_m='qwe')
- assert sg.name_h_m.value == 'P 1'
- sg = SpaceGroup(name_h_m='P b n m', it_coordinate_system_code='cab')
- assert sg.name_h_m.value == 'P 1'
- assert sg.it_coordinate_system_code.value == ''
- sg = SpaceGroup(name_h_m='P n m a', it_coordinate_system_code='cab')
- assert sg.name_h_m.value == 'P n m a'
- assert sg.it_coordinate_system_code.value == 'cab'
- sg.name_h_m = 34.9
- assert sg.name_h_m.value == 'P n m a'
- sg.name_h_m = 'P 1'
- assert sg.name_h_m.value == 'P 1'
- assert sg.it_coordinate_system_code.value == ''
- sg.name_h_m = 'P n m a'
- assert sg.name_h_m.value == 'P n m a'
- assert sg.it_coordinate_system_code.value == 'abc'
-
- log.info('-------- AtomSites --------')
-
- s1 = AtomSite(label='La', type_symbol='La')
- assert s1.label.value == 'La'
- assert s1.type_symbol.value == 'La'
- s2 = AtomSite(label='Si', type_symbol='Si')
- assert s2.label.value == 'Si'
- assert s2.type_symbol.value == 'Si'
- sites = AtomSites()
- assert len(sites) == 0
- sites.add(s1)
- sites.add(s2)
- assert len(sites) == 2
- s1.label = 'Tb'
- assert s1.label.value == 'Tb'
- assert list(sites.keys()) == ['Tb', 'Si']
- assert sites['Tb'] is s1
- assert sites['Tb'].fract_x.value == 0.0
- s2.fract_x.value = 0.123
- assert s2.fract_x.value == 0.123
- s2.fract_x = 0.456
- assert s2.fract_x.value == 0.456
- sites['Tb'].fract_x = 0.789
- assert sites['Tb'].fract_x.value == 0.789
- sites['Tb'].qwe = 'qwe' # type: ignore
- assert getattr(sites['Tb'], 'qwe', None) is None
- sites.abc = 'abc' # type: ignore
- assert getattr(sites, 'abc', None) is None
- sites['Tb'].label = 'a b c'
- assert sites['Tb'].label.value == 'Tb'
-
- assert sites['Tb']._label.value == 'Tb'
- assert sites['Tb'].label.value == 'Tb'
- assert sites['Tb'].name is None
-
- log.info('-------- SampleModel --------')
-
- model = SampleModel(name='lbco')
- assert model.name == 'lbco'
- assert model.cell.length_b.value == 10.0
- assert len(model.atom_sites) == 0
- model.atom_sites.add(s1)
- model.atom_sites.add(s2)
- assert len(model.atom_sites) == 2
- assert model.atom_sites.names == ['Tb', 'Si']
- assert model.atom_sites._items[0].label.value == 'Tb'
- assert model.atom_sites._items[1].label.value == 'Si'
-
- log.info('-------- SampleModels --------')
-
- models = SampleModels()
- assert len(models) == 0
- models.add(model)
- assert len(models) == 1
- assert models._items[0].name == 'lbco'
-
- log.info('-------- PARENTS --------')
-
- assert models._parent is None
- assert type(models['lbco']._parent) is SampleModels
- assert type(models['lbco'].cell._parent) is SampleModelBase
- assert type(models['lbco'].cell.length_b._parent) is Cell
- assert type(models['lbco'].atom_sites._parent) is SampleModelBase
- assert type(models['lbco'].atom_sites['Tb']._parent) is AtomSites
- assert type(models['lbco'].atom_sites['Tb'].fract_x._parent) is AtomSite
-
- assert type(s1._parent) is AtomSites
- assert type(models['lbco'].atom_sites) is AtomSites
- assert len(models['lbco'].atom_sites) == 2
- del models['lbco'].atom_sites['Tb']
- assert len(models['lbco'].atom_sites) == 1
- assert s1._parent is None
- assert type(models['lbco'].atom_sites) is AtomSites
-
- log.info('-------- PARAMETERS --------')
-
- assert len(models['lbco'].atom_sites['Si'].parameters) == 9
- assert models['lbco'].atom_sites['Si'].parameters[0].value == 'Si'
- assert len(models['lbco'].atom_sites.parameters) == 9
- assert len(models['lbco'].cell.parameters) == 6
- assert len(models['lbco'].parameters) == 17
- assert len(models.parameters) == 17
-
- log.info('-------- CIF HANDLERS --------')
-
- s3 = AtomSite(label='La', type_symbol='La')
- assert s3.label.value == 'La'
- assert s3.type_symbol.value == 'La'
-
- assert len(models['lbco'].atom_sites) == 1
- models['lbco'].atom_sites.add(s3)
- assert len(models['lbco'].atom_sites) == 2
- assert models['lbco'].cell.length_b.as_cif == '_cell.length_b 10.0'
- assert models['lbco'].cell.as_cif == """_cell.length_a 10.0
-_cell.length_b 10.0
-_cell.length_c 10.0
-_cell.angle_alpha 90.0
-_cell.angle_beta 90.0
-_cell.angle_gamma 90.0"""
-
- assert models['lbco'].atom_sites.as_cif == """loop_
-_atom_site.label
-_atom_site.type_symbol
-_atom_site.fract_x
-_atom_site.fract_y
-_atom_site.fract_z
-_atom_site.Wyckoff_letter
-_atom_site.occupancy
-_atom_site.B_iso_or_equiv
-_atom_site.adp_type
-Si Si 0.456 0.0 0.0 a 1.0 0.0 Biso
-La La 0.0 0.0 0.0 a 1.0 0.0 Biso"""
-
- print(models['lbco'].as_cif)
-
- assert models['lbco'].as_cif == """data_lbco
-
-_cell.length_a 10.0
-_cell.length_b 10.0
-_cell.length_c 10.0
-_cell.angle_alpha 90.0
-_cell.angle_beta 90.0
-_cell.angle_gamma 90.0
-
-_space_group.name_H-M_alt "P 1"
-_space_group.IT_coordinate_system_code
-
-loop_
-_atom_site.label
-_atom_site.type_symbol
-_atom_site.fract_x
-_atom_site.fract_y
-_atom_site.fract_z
-_atom_site.Wyckoff_letter
-_atom_site.occupancy
-_atom_site.B_iso_or_equiv
-_atom_site.adp_type
-Si Si 0.456 0.0 0.0 a 1.0 0.0 Biso
-La La 0.0 0.0 0.0 a 1.0 0.0 Biso"""
-
- assert models.as_cif == """data_lbco
-
-_cell.length_a 10.0
-_cell.length_b 10.0
-_cell.length_c 10.0
-_cell.angle_alpha 90.0
-_cell.angle_beta 90.0
-_cell.angle_gamma 90.0
-
-_space_group.name_H-M_alt "P 1"
-_space_group.IT_coordinate_system_code
-
-loop_
-_atom_site.label
-_atom_site.type_symbol
-_atom_site.fract_x
-_atom_site.fract_y
-_atom_site.fract_z
-_atom_site.Wyckoff_letter
-_atom_site.occupancy
-_atom_site.B_iso_or_equiv
-_atom_site.adp_type
-Si Si 0.456 0.0 0.0 a 1.0 0.0 Biso
-La La 0.0 0.0 0.0 a 1.0 0.0 Biso"""
-
- log.info('-------- Full Names --------')
-
- cell = Cell()
- assert cell.unique_name == 'cell'
-
- assert cell.length_b.unique_name == 'cell.length_b'
-
- site = AtomSite(label='Tb', type_symbol='Tb')
- assert site.unique_name == 'atom_site.Tb'
-
- sites = AtomSites() #
- assert sites.unique_name is None
-
- sites.add(site)
- assert site.unique_name == 'atom_site.Tb'
- assert sites['Tb'].unique_name == 'atom_site.Tb'
-
- model = SampleModel(name='lbco') #
- assert model.unique_name == 'lbco'
-
- model.cell = cell
- assert cell.unique_name == 'lbco.cell'
- assert cell.length_b.unique_name == 'lbco.cell.length_b'
- assert model.cell.unique_name == 'lbco.cell'
- assert model.cell.length_b.unique_name == 'lbco.cell.length_b'
-
- model.atom_sites = sites
- assert sites.unique_name is None
- assert model.atom_sites.unique_name is None
- assert model.atom_sites['Tb'].unique_name == 'lbco.atom_site.Tb'
-
- models = SampleModels() #
- assert models.unique_name is None
-
- models.add(model)
- assert models['lbco'].cell.unique_name == 'lbco.cell'
- assert models['lbco'].cell.length_b.unique_name == 'lbco.cell.length_b'
- assert models['lbco'].atom_sites.unique_name is None
- assert models['lbco'].atom_sites['Tb'].unique_name == 'lbco.atom_site.Tb'
-
- log.info('-------- Constraints --------')
- con = Constraint(lhs_alias='cell.length_a', rhs_expr='2 * cell.length_b + 1.0')
- assert con.lhs_alias.value == 'cell.length_a'
- assert con.rhs_expr.value == '2 * cell.length_b + 1.0'
- cons = Constraints()
- assert len(cons) == 0
- cons.add(con)
- assert len(cons) == 1
diff --git a/tmp/unsorted/short6.py b/tmp/unsorted/short6.py
deleted file mode 100644
index ef027c515..000000000
--- a/tmp/unsorted/short6.py
+++ /dev/null
@@ -1,85 +0,0 @@
-from easydiffraction.core.category import CategoryItem
-from easydiffraction.core.parameters import CifHandler
-from easydiffraction.core.parameters import Parameter
-from easydiffraction.core.validation import AttributeSpec
-from easydiffraction.core.validation import RangeValidator
-from easydiffraction.utils.logging import Logger
-from easydiffraction.utils.logging import log
-
-Logger.configure(
- level=Logger.Level.DEBUG,
- mode=Logger.Mode.COMPACT,
- reaction=Logger.Reaction.WARN,
-)
-
-
-class Cell(CategoryItem):
- def __init__(self, *, length_a=None):
- super().__init__()
-
- self._length_a = Parameter(
- value_spec=AttributeSpec(
- value=length_a,
- default=10.0,
- content_validator=RangeValidator(ge=0, le=1000),
- ),
- name='length_a',
- description='Length of the a-axis of the unit cell.',
- units='Å',
- cif_handler=CifHandler(names=['_cell.length_a']),
- )
-
- @property
- def length_a(self) -> Parameter:
- """Parameter representing the a-axis length of the unit cell."""
- return self._length_a
-
- @length_a.setter
- def length_a(self, v):
- """Assign a raw value to length_a (validated internally)."""
- self._length_a.value = v
-
-
-# ---------------------- Example usage ---------------------- #
-
-if __name__ == '__main__':
- c = Cell()
-
- c.length_a.value = 1.234
- log.info(f'c.length_a.value: {c.length_a.value}')
-
- c.length_a.value = -5.5
- log.info(f'c.length_a.value: {c.length_a.value}')
-
- c.length_a.value = 'xyz'
- log.info(f'c.length_a.value: {c.length_a.value}')
-
- c.length_a.free = True
- log.info(f'c.length_a.free: {c.length_a.free}')
-
- c.length_a.free = 'oops'
- log.info(f'c.length_a.free: {c.length_a.free}')
-
- c.length_a = 'xyz'
- log.info(f'c.length_a.value (after direct assign attempt): {c.length_a.value}')
-
- c_bad = Cell(length_a='xyz')
- log.info(f'c_bad.length_a.value: {c_bad.length_a.value}')
-
- c_ok = Cell(length_a=2.5)
- log.info(f'c_ok.length_a.value: {c_ok.length_a.value}')
-
- c_ok.length_a.description = 'read-only'
- log.info(f'c_ok.length_a.description: {c_ok.length_a.description}')
-
- c_ok.length_a.aaa = 'aaa'
- log.info(f'c_ok.length_a.aaa: {c_ok.length_a.aaa}')
-
- log.info(f'c_ok.length_a.bbb: {c_ok.length_a.bbb}')
-
- log.info(f'c_ok.length_a.fre: {c_ok.length_a.fre}')
-
- log.info(c.as_cif)
- log.info(c.length_a.as_cif)
-
- log.info(c.length_a._cif_handler.uid)
diff --git a/tmp/unsorted/short7.py b/tmp/unsorted/short7.py
deleted file mode 100644
index 285704e91..000000000
--- a/tmp/unsorted/short7.py
+++ /dev/null
@@ -1,128 +0,0 @@
-import os
-import tempfile
-
-from numpy.testing import assert_almost_equal
-
-from easydiffraction import Project
-from easydiffraction import download_from_repository
-
-TEMP_DIR = tempfile.gettempdir()
-
-
-def single_fit_neutron_pd_cwl_lbco() -> None:
- # Create project
- project = Project()
-
- # Set sample model
- project.sample_models.add_minimal(name='lbco')
- model = project.sample_models['lbco']
- model.space_group.name_h_m = 'P m -3 m'
- model.cell.length_a = 3.88
- model.atom_sites.add_from_args(
- label='La',
- type_symbol='La',
- fract_x=0,
- fract_y=0,
- fract_z=0,
- wyckoff_letter='a',
- occupancy=0.5,
- b_iso=0.1,
- )
- model.atom_sites.add_from_args(
- label='Ba',
- type_symbol='Ba',
- fract_x=0,
- fract_y=0,
- fract_z=0,
- wyckoff_letter='a',
- occupancy=0.5,
- b_iso=0.1,
- )
- model.atom_sites.add_from_args(
- label='Co',
- type_symbol='Co',
- fract_x=0.5,
- fract_y=0.5,
- fract_z=0.5,
- wyckoff_letter='b',
- b_iso=0.1,
- )
- model.atom_sites.add_from_args(
- label='O',
- type_symbol='O',
- fract_x=0,
- fract_y=0.5,
- fract_z=0.5,
- wyckoff_letter='c',
- b_iso=0.1,
- )
-
- # Set experiment
- data_file = 'hrpt_lbco.xye'
- download_from_repository(data_file, destination=TEMP_DIR)
- project.experiments.add_from_data_path(name='hrpt', data_path=os.path.join(TEMP_DIR, data_file))
- expt = project.experiments['hrpt']
- expt.instrument.setup_wavelength = 1.494
- expt.instrument.calib_twotheta_offset = 0
- expt.peak.broad_gauss_u = 0.1
- expt.peak.broad_gauss_v = -0.1
- expt.peak.broad_gauss_w = 0.2
- expt.peak.broad_lorentz_x = 0
- expt.peak.broad_lorentz_y = 0
- expt.linked_phases.add_from_args(id='lbco', scale=5.0)
- expt.background.add_from_args(x=10, y=170)
- expt.background.add_from_args(x=165, y=170)
-
- expt.show_as_cif()
-
- # Prepare for fitting
- project.analysis.current_minimizer = 'lmfit (leastsq)'
-
- # ------------ 1st fitting ------------
-
- # Select fitting parameters
- model.cell.length_a.free = True
- expt.linked_phases['lbco'].scale.free = True
- expt.instrument.calib_twotheta_offset.free = True
- expt.background['10'].y.free = True
- expt.background['165'].y.free = True
-
- # Perform fit
- project.analysis.fit()
-
- # Compare fit quality
- assert_almost_equal(project.analysis.fit_results.reduced_chi_square, desired=5.79, decimal=1)
-
- # ------------ 2nd fitting ------------
-
- # Select fitting parameters
- expt.peak.broad_gauss_u.free = True
- expt.peak.broad_gauss_v.free = True
- expt.peak.broad_gauss_w.free = True
- expt.peak.broad_lorentz_y.free = True
-
- # Perform fit
- project.analysis.fit()
-
- # Compare fit quality
- assert_almost_equal(project.analysis.fit_results.reduced_chi_square, desired=4.41, decimal=1)
-
- # ------------ 3rd fitting ------------
-
- # Select fitting parameters
- model.atom_sites['La'].b_iso.free = True
- model.atom_sites['Ba'].b_iso.free = True
- model.atom_sites['Co'].b_iso.free = True
- model.atom_sites['O'].b_iso.free = True
-
- # Perform fit
- project.analysis.fit()
-
- # Show chart
- project.plot_meas_vs_calc(expt_name='hrpt')
-
- # Compare fit quality
- assert_almost_equal(project.analysis.fit_results.reduced_chi_square, desired=1.3, decimal=1)
-
-
-single_fit_neutron_pd_cwl_lbco()
diff --git a/tmp/unsorted/show_d401.py b/tmp/unsorted/show_d401.py
deleted file mode 100644
index 8ac806fc9..000000000
--- a/tmp/unsorted/show_d401.py
+++ /dev/null
@@ -1,26 +0,0 @@
-files_lines = [
- ('src/easydiffraction/analysis/calculators/crysfml.py', [108,160,205]),
- ('src/easydiffraction/analysis/calculators/cryspy.py', [357,377]),
- ('src/easydiffraction/analysis/calculators/pdffit.py', [61]),
- ('src/easydiffraction/analysis/minimizers/dfols.py', [55,77]),
- ('src/easydiffraction/analysis/minimizers/lmfit.py', [40,66,96,117,140]),
- ('src/easydiffraction/core/singleton.py', [28,45,49,65,107,116,138]),
- ('src/easydiffraction/core/variable.py', [386]),
- ('src/easydiffraction/datablocks/experiment/categories/data/bragg_pd.py', [312,317,329,334,339,344,494,567]),
- ('src/easydiffraction/datablocks/experiment/categories/data/bragg_sc.py', [268,286,291,301,308,313,318]),
- ('src/easydiffraction/datablocks/experiment/categories/data/total_pd.py', [195,200,212,217,340]),
- ('src/easydiffraction/project/project_info.py', [119]),
- ('src/easydiffraction/utils/environment.py', [35,47]),
- ('src/easydiffraction/utils/logging.py', [685]),
- ('src/easydiffraction/utils/utils.py', [308]),
-]
-for fname, lines in files_lines:
- with open(fname) as f:
- content = f.readlines()
- for ln in lines:
- lo = max(0, ln-2)
- hi = min(len(content), ln+2)
- for i, l in enumerate(content[lo:hi]):
- print(f'{fname}:{lo+i+1}: {l}', end='')
- print('---')
-
diff --git a/tmp/unsorted/show_w505.py b/tmp/unsorted/show_w505.py
deleted file mode 100644
index 5f8e247f5..000000000
--- a/tmp/unsorted/show_w505.py
+++ /dev/null
@@ -1,27 +0,0 @@
-files_lines = [
- ('src/easydiffraction/datablocks/experiment/categories/data/bragg_pd.py', [196,277,324,527,602]),
- ('src/easydiffraction/datablocks/experiment/categories/data/bragg_sc.py', [29,298,422]),
- ('src/easydiffraction/datablocks/experiment/categories/data/total_pd.py', [207]),
- ('src/easydiffraction/datablocks/experiment/categories/experiment_type/default.py', [30]),
- ('src/easydiffraction/datablocks/experiment/categories/extinction/becker_coppens.py', [20]),
- ('src/easydiffraction/datablocks/experiment/item/base.py', [71,604]),
- ('src/easydiffraction/datablocks/experiment/item/factory.py', [78]),
- ('src/easydiffraction/datablocks/structure/item/base.py', [248]),
- ('src/easydiffraction/display/base.py', [144]),
- ('src/easydiffraction/display/utils.py', [21]),
- ('src/easydiffraction/io/cif/serialize.py', [162]),
- ('src/easydiffraction/project/project.py', [78]),
- ('src/easydiffraction/summary/summary.py', [208]),
- ('src/easydiffraction/utils/logging.py', [327,478]),
- ('src/easydiffraction/utils/utils.py', [52,73]),
-]
-for fname, lines in files_lines:
- with open(fname) as f:
- content = f.readlines()
- for ln in lines:
- lo = max(0, ln-2)
- hi = min(len(content), ln+1)
- for i, l in enumerate(content[lo:hi]):
- print(f'{fname}:{lo+i+1}: {l}', end='')
- print('---')
-
diff --git a/tmp/unsorted/test_single-fit_pd-neut-tof_Si-DREAM_nc.py b/tmp/unsorted/test_single-fit_pd-neut-tof_Si-DREAM_nc.py
deleted file mode 100644
index aa5bfee5c..000000000
--- a/tmp/unsorted/test_single-fit_pd-neut-tof_Si-DREAM_nc.py
+++ /dev/null
@@ -1,153 +0,0 @@
-# %% [markdown]
-# # Structure Refinement: Si (NCrystal sim), DREAM
-
-# %%
-
-import pytest
-
-import easydiffraction as ed
-
-# %% [markdown]
-# ## Step 1: Project
-
-# %%
-project = ed.Project()
-
-# %%
-project.plotter.engine = 'plotly'
-
-# %% [markdown]
-# ## Step 2: Sample Model
-
-# %%
-project.sample_models.add_minimal(name='si')
-sample_model = project.sample_models['si']
-
-# %%
-sample_model.space_group.name_h_m.value = 'F d -3 m'
-sample_model.space_group.it_coordinate_system_code = '1'
-
-# %%
-sample_model.cell.length_a = 5.46872800 # 5.43146
-
-# %%
-import pathlib
-
-from easydiffraction.sample_models.categories.atom_sites import AtomSite
-
-sample_model.atom_sites.add(
- AtomSite(
- label='Si',
- type_symbol='Si',
- fract_x=0.0,
- fract_y=0.0,
- fract_z=0.5,
- wyckoff_letter='b',
- b_iso=0.5,
- )
-)
-
-# %% [markdown]
-# ## Step 3: Experiment
-
-# %%
-# ed.download_from_repository('NOM_9999_Si_640g_PAC_50_ff_ftfrgr_up-to-50.gr',
-# branch='d-spacing',
-# destination='data')
-
-# %%
-data_path = 'tutorials/data/DREAM_mantle_bc240_nist_cif_2.xye'
-if not pathlib.Path(data_path).exists(): # pragma: no cover - environment dependent
- pytest.skip(f'Missing data file: {data_path}', allow_module_level=True)
-project.experiments.add_from_data_path(
- name='dream',
- sample_form='powder',
- beam_mode='time-of-flight',
- radiation_probe='neutron',
- scattering_type='bragg',
- data_path=data_path,
-)
-# data_path='tutorials/data/DREAM_mantle_bc240_nist_nc_2.xye')
-experiment = project.experiments['dream']
-
-# %%
-experiment.instrument.setup_twotheta_bank = 90.20761742567521 # 144.845 # 90.20761742567521
-experiment.instrument.calib_d_to_tof_offset = 0.0
-experiment.instrument.calib_d_to_tof_linear = 27896.388403762866 # 7476.91 # 278963884037.62866
-experiment.instrument.calib_d_to_tof_linear = 26935.57560870018
-experiment.instrument.calib_d_to_tof_quad = -0.00001 # -1.54 # -1.0
-
-# %%
-experiment.peak_profile_type = 'pseudo-voigt * ikeda-carpenter'
-experiment.peak.broad_gauss_sigma_0 = 3.0
-experiment.peak.broad_gauss_sigma_1 = 40.0
-experiment.peak.broad_gauss_sigma_2 = 0.0
-experiment.peak.broad_mix_beta_0 = 0.024 # 0.04221
-experiment.peak.broad_mix_beta_1 = 0 # 0.00946
-experiment.peak.asym_alpha_0 = 0.14
-experiment.peak.asym_alpha_1 = 0.0 # 0.5971
-
-# %%
-experiment.background_type = 'line-segment'
-for x in range(10000, 70000, 5000):
- experiment.background.add(x=x, y=0.2)
-
-# %%
-from easydiffraction.experiments.categories.linked_phases import LinkedPhase
-
-experiment.linked_phases.add(LinkedPhase(id='si', scale=1))
-
-# %% [markdown]
-# ## Step 4: Analysis
-
-# %%
-project.plot_meas_vs_calc(expt_name='dream', show_residual=True)
-# exit()
-
-# %%
-# sample_model.cell.length_a.free = True
-
-experiment.linked_phases['si'].scale.free = True
-# experiment.instrument.calib_d_to_tof_offset.free = True
-
-experiment.peak.broad_gauss_sigma_0.free = True
-experiment.peak.broad_gauss_sigma_1.free = True
-# experiment.peak.broad_gauss_sigma_2.free = True
-experiment.peak.broad_mix_beta_0.free = True
-# experiment.peak.broad_mix_beta_1.free = True
-experiment.peak.asym_alpha_0.free = True
-# experiment.peak.asym_alpha_1.free = True
-
-
-project.analysis.fit()
-project.plot_meas_vs_calc(expt_name='dream', show_residual=True)
-
-exit()
-
-
-project.sample_models['lbco'].atom_sites['La'].b_iso.free = True
-project.sample_models['lbco'].atom_sites['Ba'].b_iso.free = True
-project.sample_models['lbco'].atom_sites['Co'].b_iso.free = True
-project.sample_models['lbco'].atom_sites['O'].b_iso.free = True
-
-# %%
-project.experiments['hrpt'].linked_phases['lbco'].scale.free = True
-
-project.experiments['hrpt'].instrument.calib_twotheta_offset.free = True
-
-project.experiments['hrpt'].background['10'].y.free = True
-project.experiments['hrpt'].background['30'].y.free = True
-project.experiments['hrpt'].background['50'].y.free = True
-project.experiments['hrpt'].background['110'].y.free = True
-project.experiments['hrpt'].background['165'].y.free = True
-
-project.experiments['hrpt'].peak.broad_gauss_u.free = True
-project.experiments['hrpt'].peak.broad_gauss_v.free = True
-project.experiments['hrpt'].peak.broad_gauss_w.free = True
-project.experiments['hrpt'].peak.broad_lorentz_y.free = True
-
-# %%
-project.analysis.fit()
-
-# %%
-project.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)