Coverage for quality/layouts.py: 100%
6 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-26 15:42 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-26 15:42 +0000
1from .models import RESULT_PONDERATION, Check
3ZMAX = 355
4HEATMAP_LAYOUT_COMPLETENESS = {
5 "x": [""],
6 "showscale": False,
7 "ygap": 1,
8}
9HEATMAP_LAYOUT_NETWORK = {
10 "colorbar": {
11 "title_text": "Data Quality and Completeness",
12 "title_side": "top",
13 "tickvals": [25, 75, 125, 200, 255, 305, 345],
14 "ticktext": [
15 "Channel closed",
16 "No data",
17 "Not readable",
18 "Deconvolution fails",
19 "0%",
20 "Deconvolution pass",
21 "100%",
22 ],
23 "lenmode": "pixels",
24 "len": 300,
25 "yanchor": "top",
26 "y": 1,
27 },
28 "hovertemplate": (
29 "<b>%{y}</b><br>"
30 "%{x}<br>"
31 "Completeness : %{customdata[0]}%<br>"
32 "Traces : %{customdata[2]}<br>"
33 "Shortest trace : %{customdata[3]} seconds"
34 "<extra></extra>"
35 ),
36 "colorscale": [
37 [0, "black"],
38 [RESULT_PONDERATION[Check.Result.NO_DATA] / ZMAX - 0.001, "black"],
39 [RESULT_PONDERATION[Check.Result.NO_DATA] / ZMAX, "whitesmoke"],
40 [RESULT_PONDERATION[Check.Result.NOT_READABLE] / ZMAX - 0.001, "whitesmoke"],
41 [RESULT_PONDERATION[Check.Result.NOT_READABLE] / ZMAX, "#a50026"],
42 [
43 RESULT_PONDERATION[Check.Result.DECONVOLUTION_FAILS] / ZMAX - 0.001,
44 "#a50026",
45 ],
46 [RESULT_PONDERATION[Check.Result.DECONVOLUTION_FAILS] / ZMAX, "#f46d43"],
47 [(RESULT_PONDERATION[Check.Result.DECONVOLUTION_PASS] - 5) / ZMAX, "#f46d43"],
48 [(RESULT_PONDERATION[Check.Result.DECONVOLUTION_PASS] - 4) / ZMAX, "#e0f3f8"],
49 [0.99, "#4575b4"],
50 [1, "#313695"],
51 # [RESULT_PONDERATION[Check.Result.DECONVOLUTION_PASS/ZMAX, "#d9ef8b"],
52 # [0.99, "#1a9850"],
53 # [1, "#006837"],
54 ],
55 "xgap": 1,
56 "ygap": 1,
57 "zmin": 0,
58 "zmax": ZMAX,
59}
60HEATMAP_LAYOUT_QUALITY = HEATMAP_LAYOUT_NETWORK | {
61 "colorbar_len": 0.5,
62 "colorbar_lenmode": "fraction",
63 "colorbar_y": 1.05,
64}
65HEATMAP_LAYOUT_STATION = {
66 "colorbar": {"title_text": "Number of traces", "len": 0.5, "y": 0.25},
67 "colorscale": list(
68 reversed(
69 [
70 [1, "rgb(165,0,38)"],
71 [0.9, "rgb(215,48,39)"],
72 [0.8, "rgb(244,109,67)"],
73 [0.7, "rgb(253,174,97)"],
74 [0.6, "rgb(254,224,139)"],
75 [0.5, "rgb(255,255,191)"],
76 [0.4, "rgb(217,239,139)"],
77 [0.3, "rgb(166,217,106)"],
78 [0.2, "rgb(102,189,99)"],
79 [0.1, "rgb(26,152,80)"],
80 [0.001, "rgb(0,104,55)"],
81 [0, "whitesmoke"],
82 ],
83 ),
84 ),
85 "hovertemplate": ("<b>%{y}</b><br>%{x}<br>Traces : %{z}<extra></extra>"),
86 "xgap": 1,
87 "ygap": 1,
88 "zmin": 0,
89}