From fa13f4852c971a71787f754416845d9ea5a4b4b4 Mon Sep 17 00:00:00 2001 From: Alfonso <alo.99@hotmail.it> Date: Sat, 9 Nov 2024 18:04:26 +0100 Subject: [PATCH] fits.arf.rmf --- arf/SaeFF_0.0_0.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_0.0_180.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_0.0_270.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_0.0_360.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_0.0_90.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_30.0_0.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_30.0_180.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_30.0_270.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_30.0_360.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_30.0_90.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_60.0_0.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_60.0_180.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_60.0_270.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_60.0_360.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_60.0_90.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_90.0_0.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_90.0_180.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_90.0_270.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_90.0_360.0.arf | Bin 8640 -> 8640 bytes arf/SaeFF_90.0_90.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_0.0_0.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_0.0_180.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_0.0_270.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_0.0_360.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_0.0_90.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_30.0_0.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_30.0_180.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_30.0_270.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_30.0_360.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_30.0_90.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_60.0_0.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_60.0_180.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_60.0_270.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_60.0_360.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_60.0_90.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_90.0_0.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_90.0_180.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_90.0_270.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_90.0_360.0.arf | Bin 8640 -> 8640 bytes arf/XaeFF_90.0_90.0.arf | Bin 8640 -> 8640 bytes python/__pycache__/arf.cpython-38.pyc | Bin 1713 -> 1766 bytes python/__pycache__/data.cpython-38.pyc | Bin 1602 -> 3093 bytes python/__pycache__/noisy.cpython-38.pyc | Bin 0 -> 848 bytes python/__pycache__/rmf.cpython-38.pyc | Bin 0 -> 3479 bytes python/a.out | Bin 19024 -> 0 bytes python/aeFF.py | 8 ++- python/arf.py | 1 + python/convertFits2Ascii.py | 9 +-- python/convertRoot2Fits.py | 3 +- python/data.py | 84 +++++++++++++++--------- python/noisy.py | 55 ++++------------ python/rmf.py | 84 +++++++++++++----------- python/zero.CANCELLA.py | 16 ----- rmf/Xrmf_0.0_0.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_0.0_180.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_0.0_270.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_0.0_360.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_0.0_90.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_30.0_0.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_30.0_180.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_30.0_270.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_30.0_360.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_30.0_90.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_60.0_0.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_60.0_180.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_60.0_270.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_60.0_360.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_60.0_90.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_90.0_0.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_90.0_180.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_90.0_270.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_90.0_360.0.rmf | Bin 17280 -> 17280 bytes rmf/Xrmf_90.0_90.0.rmf | Bin 17280 -> 17280 bytes xgis_M7 | Bin 458544 -> 458544 bytes 74 files changed, 119 insertions(+), 141 deletions(-) create mode 100644 python/__pycache__/noisy.cpython-38.pyc create mode 100644 python/__pycache__/rmf.cpython-38.pyc delete mode 100755 python/a.out delete mode 100644 python/zero.CANCELLA.py diff --git a/arf/SaeFF_0.0_0.0.arf b/arf/SaeFF_0.0_0.0.arf index 4c6f3ef1d1bf425613deb54c8ffbea4f2923dd7d..8c6d198412ba0c80cec3424bf48a543c1e2f8853 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_0.0_180.0.arf b/arf/SaeFF_0.0_180.0.arf index 1a0a668b852e72bf2c571f9646147fd911325ff5..cc1a0c3f0b0bfbb775a5879e6c9fdd16dbb81578 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_0.0_270.0.arf b/arf/SaeFF_0.0_270.0.arf index 030182a92a7fc6441406b9850c1139a1e10c85ec..878b59c37f6274c186e62f34d654e317fe9d2e71 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_0.0_360.0.arf b/arf/SaeFF_0.0_360.0.arf index 4c6f3ef1d1bf425613deb54c8ffbea4f2923dd7d..8c6d198412ba0c80cec3424bf48a543c1e2f8853 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_0.0_90.0.arf b/arf/SaeFF_0.0_90.0.arf index 3e6d9833aef1db59516404e4d20aed01033e2703..dcc2667336495c249dbb4e3bfac2d819c07f5351 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_30.0_0.0.arf b/arf/SaeFF_30.0_0.0.arf index df8cd1c151e93475a38cb691c2d8b1ae2f222ae7..b6a058c6ed65e89f946a51abbe58e0c3b6233485 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_30.0_180.0.arf b/arf/SaeFF_30.0_180.0.arf index 86a8a4f690825a9201f0acdad5ff352c97abca6e..520798f7195a35d50ff7236012ae0d548b11bdeb 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_30.0_270.0.arf b/arf/SaeFF_30.0_270.0.arf index cc4bf5d0897e8f0d9537914906153b36502d418f..9bd51c8fefbe325b881bff64b52bebffd7181693 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_30.0_360.0.arf b/arf/SaeFF_30.0_360.0.arf index df8cd1c151e93475a38cb691c2d8b1ae2f222ae7..b6a058c6ed65e89f946a51abbe58e0c3b6233485 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_30.0_90.0.arf b/arf/SaeFF_30.0_90.0.arf index bae1b2d89b7f5651423ed689ef88f586eb0b2624..8eee78ed4ba71fe59bcb07743471ca71303fd1b6 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_60.0_0.0.arf b/arf/SaeFF_60.0_0.0.arf index 447a31d96b88d261363c66d130538b2e3ba08697..846b1b427b53bddf50825a600c97cf4ee7303469 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_60.0_180.0.arf b/arf/SaeFF_60.0_180.0.arf index 46486e27aea11cd78c685eb6a03a69696d73e483..bf4a0993f305b27f6b4dd046415373df9b841dc2 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_60.0_270.0.arf b/arf/SaeFF_60.0_270.0.arf index c5cef21bc7bd27a4bfa5e2a8a042ef1a31db3de5..9238c32e190a6ac23091844ec02481fbd1b0dc4a 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_60.0_360.0.arf b/arf/SaeFF_60.0_360.0.arf index 447a31d96b88d261363c66d130538b2e3ba08697..846b1b427b53bddf50825a600c97cf4ee7303469 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_60.0_90.0.arf b/arf/SaeFF_60.0_90.0.arf index 5f4cdf76e1597c33bba573d9b11420df28f4d7c1..e4af0e10a0beb324384f47a4fc9eccb9a8d2c15b 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_90.0_0.0.arf b/arf/SaeFF_90.0_0.0.arf index 72e47f9d216a75b160b821ab2e6222f4c0db1f6b..d2eea23a5e67f416427f5620844d7b4af1cd8a73 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_90.0_180.0.arf b/arf/SaeFF_90.0_180.0.arf index b185dec1c310ae2ccbc20ef148bee111a6495042..24823210571ef61b68c26254688ae8d9a4df5b21 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_90.0_270.0.arf b/arf/SaeFF_90.0_270.0.arf index b7cd14a0a544e88074ccf18ba1b57108701d8d54..99a52ccbac660c89bb3503be3c4a428afaf52d9f 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_90.0_360.0.arf b/arf/SaeFF_90.0_360.0.arf index 72e47f9d216a75b160b821ab2e6222f4c0db1f6b..d2eea23a5e67f416427f5620844d7b4af1cd8a73 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/SaeFF_90.0_90.0.arf b/arf/SaeFF_90.0_90.0.arf index 31d8d73f5874f8e850bfac8f5ed6da25050a01a0..45ab258a4dab4daa2a30d2f56ed5f7769858d814 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_0.0_0.0.arf b/arf/XaeFF_0.0_0.0.arf index 6936827ee66951150c243d772e9b8e8f7e412f55..c111f8347cfd4ff66d24b2b33992a334ebadecf5 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_0.0_180.0.arf b/arf/XaeFF_0.0_180.0.arf index 60d7d6803a579a1434d3daa0f969a5fafba1375d..88f2a948668f0767e8c698d3196ceb4067bcfffc 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_0.0_270.0.arf b/arf/XaeFF_0.0_270.0.arf index 2d47ea21e772bbf2dfff1046de72201f3abf31ff..ee8f35f32a78f4d34c02dc25fb3edeedf1ba77fc 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_0.0_360.0.arf b/arf/XaeFF_0.0_360.0.arf index 6936827ee66951150c243d772e9b8e8f7e412f55..c111f8347cfd4ff66d24b2b33992a334ebadecf5 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_0.0_90.0.arf b/arf/XaeFF_0.0_90.0.arf index fef0dcfca91873a8b50a4138950f868aa8ed8351..a70a5057c5c127f27ed6de737ca832f208bd2f39 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_30.0_0.0.arf b/arf/XaeFF_30.0_0.0.arf index 7396a70e5585df172ce4f9aedace1c987b27f8b2..0ed7c2c7c2ab1e8f8b67871055f4a73c07a444fd 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_30.0_180.0.arf b/arf/XaeFF_30.0_180.0.arf index 55a0d264969077faa37c703e2e366cc601c95efd..c6599baf6c337d6bad1280d07e1d14e127989f7e 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_30.0_270.0.arf b/arf/XaeFF_30.0_270.0.arf index 9fceff18ba43249867dfa0fa176100bdd096fad8..1608c49a1f604080d7e1fa8a960276247cc9e46a 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_30.0_360.0.arf b/arf/XaeFF_30.0_360.0.arf index 7396a70e5585df172ce4f9aedace1c987b27f8b2..0ed7c2c7c2ab1e8f8b67871055f4a73c07a444fd 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_30.0_90.0.arf b/arf/XaeFF_30.0_90.0.arf index 47a824af6fd4fadea51158a8c4772a9420323559..7b2a555418c42da60793c5dd3597ac1b024b1976 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_60.0_0.0.arf b/arf/XaeFF_60.0_0.0.arf index 76c693b177a477d0c48fc7d49de658975ea77a55..724b1cd1e2ddc12eb61ac217cb6a13bca9cfcc83 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_60.0_180.0.arf b/arf/XaeFF_60.0_180.0.arf index 997670a3fbccf4e2663852ab9b57c65109a8a934..3fac20baa4e0810ab2d10c267456636ba6dff1ab 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_60.0_270.0.arf b/arf/XaeFF_60.0_270.0.arf index 11ded8a25d24592a8d60034802aca00741d5991b..02eb8ab97797bdbe680da6ccaa281c4ec38435ea 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_60.0_360.0.arf b/arf/XaeFF_60.0_360.0.arf index 76c693b177a477d0c48fc7d49de658975ea77a55..724b1cd1e2ddc12eb61ac217cb6a13bca9cfcc83 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_60.0_90.0.arf b/arf/XaeFF_60.0_90.0.arf index 26b8d6d2c11cb45c0dcd268a9d4ceb12586f4e62..e5f423066ac8258b293c8afbd12fa92cea0541d0 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_90.0_0.0.arf b/arf/XaeFF_90.0_0.0.arf index 8447185f59cefee94adf552292d772d8652d0128..f2a7f79c725a637ef548311436469dbafcc2a505 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_90.0_180.0.arf b/arf/XaeFF_90.0_180.0.arf index 3cdd6ef2894d7c66653a101244b042edf204737d..0a05effe1202ddd5e7f00fb3d78edb103a41478f 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_90.0_270.0.arf b/arf/XaeFF_90.0_270.0.arf index 0ab2424417c8cda7fd3662ccd7ecb7d6c53f9de1..31175037bbb232490c88a9bb4be301f46024c648 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_90.0_360.0.arf b/arf/XaeFF_90.0_360.0.arf index 8447185f59cefee94adf552292d772d8652d0128..f2a7f79c725a637ef548311436469dbafcc2a505 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/arf/XaeFF_90.0_90.0.arf b/arf/XaeFF_90.0_90.0.arf index 93000e87b747feb66a717c7d5f4132dc65b57b85..d56635bc853beb716edd8b2c7cd669e71dc68752 100644 GIT binary patch delta 58 zcmX@$e873b1cAv91Og^c5D3_8Ab5dE+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS OW(P(Crp*mv4%`5ZvlLDM delta 30 mcmX@$e873b1cAv91Og^c5D3_8Ab5dkvjbxT)8+;-2W|k#!V7%> diff --git a/python/__pycache__/arf.cpython-38.pyc b/python/__pycache__/arf.cpython-38.pyc index 8e30ad9f8724c2f46fb710b04813c56fe4e634b2..bf5dbd0ecf6b72bf7ac8fc2bdfc245dfcc8b0d2d 100644 GIT binary patch delta 355 zcmdnU`;3=2l$V!_fq{X6-B>UE_C#J;M!SjHYT^tjj5+L4>?uqs%q<L294Ra*tSt;t zoD&n&7;7fBJ1{a&JYi@nTEmdVkRoQokirnmpegQmi#^1{HP|&Y_!dWqtB-52vwy%X zj^F@S=OEYMfLrXY5g~q#zOJ`eBHTTLZ%x)=Y?P|vcg#u4&nwPX2*@l>EXYi}#qR9y z>+9+lGI=ed6eG{%6O4XrYzzzx#S)Wcm?T-a7>oEen=@@<WV|)`6|)&5%Vb5C*Nl9V zd0FpE@-Q$k6oCm|1_p*(9En9~@oAYksiKov*;M6N`55__SeSSixtL@aWtc!b9!4R? zB25Mc22HNX9&9op5+DQQKzdp8N^=V;Z!zT+++r@SEH2^$$$(Ts%m-TnCLlK1<mRW8 V=A_y&f*cA8Od&=N5M<)u2LK|(Q4#<E delta 376 zcmaFHyOEbSl$V!_fq{YH&ia38vnTS(GMY`)R^w+%VQyiFVoza7VQpcE;+UAB##l75 z-+_^F;srxvhF}IwQNLRp!2zz$L9W38x7b}HLi`+kU8C4TJY0iaLxZC@LR@`ZgPr{Y zZm~qTdj>~MwqtBm&}6*DmXVs6l3Jw6c#AW&q9ir1I5R(QB|{Mh0|Ub^tI5$Ux|7wI zWE5E$7#NDhK(1osLWN8qei7H^RHjXgj8T&%Sj-riCi}CzX5^Y|&3a!FWDeM{B2ESd zhFctoMQQPAnK`M#la1L_>zVl&`IuOkco?~uWEf?bKs+8sA;uyV1_lOA&RhJ6#U(}g z1(kZ4`Fd%YCB?UxGV^b-fLKMs3=9lKk{}~l^Gb6IDsM666%>Jj4XhVpBf8x-x%nxj VIjMGxAkTm#IfNKF7&(|Y_yC)bRcZhL diff --git a/python/__pycache__/data.cpython-38.pyc b/python/__pycache__/data.cpython-38.pyc index 0cd0ec4d811ebead27d00714daf4eb0ccab7291b..5e7c1d2d6f36d5c110deb8423968d6a6d2584995 100644 GIT binary patch literal 3093 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 F2LLwe{^0-s delta 957 zcmbO#afpX6l$V!_fq{Xcrr=*%I>$slnR+J%28I-d6viBeC=kt*!<fqy#l#3=Gv+Yo zvM@0)GUT#Gu`)8GFsHDzFhsGXu%@uJFhsGZu%~deFhp^rFa|Sda=ru^>!-<hizOgG zKPQ<H#D!u$1_lO@t<DS#48<E57#K<zvKSXI)i5k%tew1q#e^|!@?93qFpd<iY^DWV z3mIy;YS?SIBp7PBYq)CIr5S2@YPi8PZw+S+PYrJka}7%xYd8ZFgDFEGLlDDahF~xq z!H~ib%%I8b_ls38EwiNf7Q-#Z_{mdPwE{9F{`~*1$$g6{zxWnQL1Ib9Esmtb;?%sv z+|*m_MX3cjiOH$ASc?mCGD~i;rsd=(mfT_io4}G^keYXkB_**W@fLGVYThm8;?i7A zzR3dYaw4}_OEOYH;sqI*Q7joLr8z}{lO5P)Ic~9~=A{;;S5B^GSL0mCP$b2`!0^j@ z@<&eH$*L^;^&IJ`CGj8=*+AhT0}3Q&9!4Q%9!4H!9!4%k4n__}9!4H8&B0UzQjp99 zQU%2v3=9mQAO#0!3^+Jz7*ZIUnfg6ynQ9na7-DT=SZkSUS!!8p*=pHqm=-YBFsCrh zW=UbLVM$>L0W(-rSim&fY=#u(8ur-?DXeq37BVt26bghxgB2Q_Y<{;G%d4364AXuw za#k_x8K>Q1<kDm+5@29pxW!stlv$Fh$uapOhq${q0|P^m1c;CX5uzYM3`Bqe02~TM z(jZN|U`_Ewsl}x^CB?F!Pyhu510xTk5Mz<b<Z{jrzRU~^44N#rI8yUcipw)gGKx4E z7#NB`spu9<R(@ulCetk@Jp)iI<)p4;jABd6&q+xwLb8O*CMUDFBso8~z)pSgS}s?9 zkO8;YL4qlnMMYeb8M!6mL19~@0=BA15oCb~$bBpY`T03TN+3Si<(eQC*ya47Xp2uR zE-6Y(F3HT#QwF&m<R}Iv7A6%|4n{GiB14dIoM87(Zsyi@E#e1hhuZ{}hqx1LIG6w% c&S8_ApHiBWY6r?Y#UN8b=|G5?L!5&R0O9-CCIA2c diff --git a/python/__pycache__/noisy.cpython-38.pyc b/python/__pycache__/noisy.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..27091080e209d0d4822fa1f3a8d5dad2e6f3ebed GIT binary patch literal 848 zcmWIL<>g{vU|=|7tCw!W&cN^(#6iYP3=9ko3=9m#1`G@gDGVu$ISf${nlXwA%xBJJ ziDG4BNMTB0ZefUGOJPZ2ZDELFPhkvZ&}4fFGRrTS5kx^TCj$cm3j+g#Gsx5kkg1Hd zj44dDOeG8p7;Bhn7(^Iq7^N8&GS)JuFxRrwFsHBxGt{tvNO6W*R<J78g^aaqHEb!2 zA`B_4(hRliB@9_iS<E#IHS8&Dy-c+nH5|bVn(Th*9uKQT*17XKq(dw}VE-J#uyc3` z^4ZH5%nS@GnQk%X<R{-^Ely6%NnOcuiz%<*7E5tqQOPZ~qQtzE{M=h?dHF@Ti8-2_ zw^%dt3Q9|EF_uShrzPg)$EPJGm*f{kaTRB#=O)I3gl=&_*r_?UILZ=>G86NXQ={06 zOH$&C^2={A7nh{mV#_ZrDJU&j$xtNBz`*d!Mn5AzH&s6|CoMm(IA1?FxhS(NF)uSw zKg7c|*flg*zal-eI6l{0H#adePrsnDBqKjhKQBMCxKgj6@)mbuN=iJ4ml_|z1`1Ol zkQbR)7+DyF7+IJE7`YgEm<5=ML>U+uP$GgIIU?Mk5mCcX!zjW~%ap=Y%Ur{h!Ys^? z!d$})qD2_Q8ERR;!OyagF@;4M92wAHXH8-4WdcPBDAN62N-{7o6oCS`h#ABJMRyS^ zh{eIcz@W)q#LK|I5G9b4nVwM+pPH7InVgxLms|-8#p060k|KVPasdz_2qHk90*4la z5Mf|oK=ygC7|7>*P@i)!vM`A-@_~FU4ziHr7E^xlE!Mo!+=9v?PLSP#xrrqOIr$|y znMryDl^|9W8<b`)$SDB_RuM=q#5zzkL0DjmIc#$CQ%ZAE?Lg_e8004oMh-?EW)1-W DyBoir literal 0 HcmV?d00001 diff --git a/python/__pycache__/rmf.cpython-38.pyc b/python/__pycache__/rmf.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6421dbd07ce8b73b7a50995a34a212d7d9418a4d GIT binary patch literal 3479 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 literal 0 HcmV?d00001 diff --git a/python/a.out b/python/a.out deleted file mode 100755 index 67b98a4d229102453ed94ee2a9591fbce78cb5a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19024 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 J^+Fj?3IG*}34Q<o diff --git a/python/aeFF.py b/python/aeFF.py index 2f800ae..c5ea7bb 100644 --- a/python/aeFF.py +++ b/python/aeFF.py @@ -12,6 +12,7 @@ def main(): # 1 Estract data from fits file and give these output file_dat file_dat = "areaEfficace.dat" data_estraction(file_dat) + #2 Filter data data = np.loadtxt(file_dat, dtype=str) @@ -38,6 +39,7 @@ def main(): # Maschera booleana per filtrare i dati per la combinazione corrente di theta e phi # confronta i dati del file con i dati dell'array creato mask = (theta == theta_val) & (phi == phi_val) + energy_filtered = energy[mask] ratio_X_filtered = ratio_X[mask] ratio_S_filtered = ratio_S[mask] @@ -49,11 +51,11 @@ def main(): #plot_data_S.append((energy_filtered, ratio_S_filtered, theta_val, phi_val)) # 3 ARF - #arf_file(energy_filtered, ratio_X_filtered, ratio_S_filtered, theta_val, phi_val) + arf_file(energy_filtered, ratio_X_filtered, ratio_S_filtered, theta_val, phi_val) # 4 RMF - #rmf_file(energy_filtered, 'X', X_en_dep_file_filtered, theta_val, phi_val) - #rmf_file(energy_filtered, 'S', S_en_dep_file_filtered, theta_val, phi_val) + rmf_file('X', energy_filtered, X_en_dep_file_filtered, theta_val, phi_val) + rmf_file('S', energy_filtered, S_en_dep_file_filtered, theta_val, phi_val) # approcci diversi per arf e rmf # in arf essendo più semplice la chiamo una volta e dentro scrivo due volte le cose che deve fare diff --git a/python/arf.py b/python/arf.py index d74d73e..2f47598 100644 --- a/python/arf.py +++ b/python/arf.py @@ -16,6 +16,7 @@ def create_header(extension): extension.header['ARFVERSN'] = '1992A' extension.header['HDUVERS1'] = '1.0.0' extension.header['HDUVERS2'] = '1.1.0' + extension.header['COMMENT'] = "Alfonso Pisapia" def arf_file(energy_filt, ratio_X_filt, ratio_S_filt, theta, phi): try: diff --git a/python/convertFits2Ascii.py b/python/convertFits2Ascii.py index 0d33c62..c871b9f 100644 --- a/python/convertFits2Ascii.py +++ b/python/convertFits2Ascii.py @@ -1,13 +1,14 @@ -import astropy.io.fits as fits +import astropy.io.fits as pyfits import numpy as np # ! posso anche lanciare questo script dal bash iniziale e gli do come argomento il nome del file -mask_file_fits = "msk_55_4752313.fits" +mask_file_fits = "/home/alfonso/Scrivania/THESEUS/xgis_m7-main/python/msk_55_4752313.fits" +mask_file_ascii = "/home/alfonso/Scrivania/THESEUS/xgis_m7-main/mask.dat" def fits_to_ascii(mask_file_fits, mask_file_ascii): - with fits.open(mask_file_fits) as hdul: + with pyfits.open(mask_file_fits) as hdul: data = hdul[0].data # Estrarre l'HDU primaria (dati e header) @@ -27,4 +28,4 @@ def fits_to_ascii(mask_file_fits, mask_file_ascii): np.savetxt(f, data, fmt="%d", delimiter=" ") # Esegui la funzione specificando il file FITS di input e il file ASCII di output -fits_to_ascii('/home/alfonso/Scrivania/THESEUS/xgis_m7-main/python/msk_55_4752313.fits', 'mask.dat') \ No newline at end of file +fits_to_ascii(mask_file_fits, mask_file_ascii) \ No newline at end of file diff --git a/python/convertRoot2Fits.py b/python/convertRoot2Fits.py index ac5a2ae..aa2e3b0 100644 --- a/python/convertRoot2Fits.py +++ b/python/convertRoot2Fits.py @@ -85,12 +85,11 @@ def generate_fits(energy, theta_deg, phi_deg): pyfits.Column(name='Event_time', format='1D', unit='ns', array=t_TI[sorting]) ]) - tbhdu.header.set('EXTNAME', 'EVENTS', 'Name of this binary table extension') + tbhdu.header.set('EXTNAME', 'EVENTS', 'Alfonso Pisapia') hdulist = pyfits.HDUList([prhdu, tbhdu]) output_dir = "/home/alfonso/Scrivania/THESEUS/xgis_m7-main/fits" - if not os.path.exists(output_dir): os.makedirs(output_dir) diff --git a/python/data.py b/python/data.py index 3f0c282..49c871b 100644 --- a/python/data.py +++ b/python/data.py @@ -1,11 +1,48 @@ import os import numpy as np from multiprocessing import Pool -import astropy.io.fits as fits +import astropy.io.fits as pyfits from noisy import add_noise_X, add_noise_S +def write_fits_dep(energy, theta, phi, type, en_dep_noisy, en_dep): + + # Write FITS file + # "Null" primary array + prhdu = pyfits.PrimaryHDU() + + # Extension + tbhdu = pyfits.BinTableHDU.from_columns([ + pyfits.Column(name='En_dep_Noise', format='1D', unit='keV', array = en_dep_noisy), + pyfits.Column(name='En_dep', format='1D', unit='keV', array = en_dep) + ]) + + tbhdu.header['EXTNAME'] = 'EVENTS' + tbhdu.header['TELESCOP'] = 'THESEUS' + tbhdu.header['INSTRUME'] = 'XGIS' + tbhdu.header['COMMENT'] = "Simulated energy deposits with noise" + tbhdu.header['TUNIT1'] = "keV" + tbhdu.header['TYPE'] = type + tbhdu.header['ENERGY'] = energy + tbhdu.header['THETA'] = theta + tbhdu.header['PHI'] = phi + tbhdu.header['COMMENT'] = "Alfonso Pisapia" + + hdulist = pyfits.HDUList([prhdu, tbhdu]) + + fits_dep_dir = "/home/alfonso/Scrivania/THESEUS/xgis_m7-main/fits_dep" + if not os.path.exists(fits_dep_dir): + os.makedirs(fits_dep_dir) + + file_name = f"{type}_en_dep_{energy:.1f}_{theta}_{phi}.fits" + + output_file = os.path.join(fits_dep_dir, file_name) + hdulist.writeto(output_file, overwrite=True) + + return file_name + + # Funzione che prende in input un singolo file FITS da processare. def get_data(files): # Estrazione di energia, theta e phi dal nome del file @@ -17,7 +54,7 @@ def get_data(files): phi = float(name_parts[3]) # Apertura del file fits e lettura dei dati - with fits.open(files) as hdul: + with pyfits.open(files) as hdul: data = hdul[1].data tot_events = len(data) scint_id_col = data['Scint_ID'] @@ -29,42 +66,25 @@ def get_data(files): eventi_S = tot_events - eventi_X ratio_X = eventi_X/tot_events ratio_S = eventi_S/tot_events - - X_en_dep_noisy = [add_noise_X(X_dep) for X_dep in X_en_dep] + + X_en_dep_noisy = [add_noise_X(X_dep) for X_dep in X_en_dep] # list comprehension di Python, una struttura compatta che consente di applicare una funzione a ciascun elemento di un array o di una lista, creando direttamente un nuovo array con i risultati. S_en_dep_noisy = [add_noise_S(S_dep) for S_dep in S_en_dep] - - return energy, ratio_X, ratio_S, theta, phi, X_en_dep, S_en_dep + + return energy, ratio_X, ratio_S, theta, phi, X_en_dep_noisy, S_en_dep_noisy, X_en_dep, S_en_dep + def write_results(file_dat, results): - - npy_dir = "/home/alfonso/Scrivania/THESEUS/xgis_m7-main/python/npy" - npy_noise_dir = "/home/alfonso/Scrivania/THESEUS/xgis_m7-main/python/npy_noise" - if not os.path.exists(npy_dir): - os.makedirs(npy_dir) - if not os.path.exists(npy_noise_dir): - os.makedirs(npy_noise_dir) - + with open(file_dat, "w") as f: - for energy, ratio_X, ratio_S, theta, phi, X_en_dep, S_en_dep in results: - # Salva l'array en_dep in un file separato, e salva tutto in una cartella, Smisto i dati tra X ed S - X_npy_file = f"X_en_dep_{energy:.1f}_{theta}_{phi}.npy" - S_npy_file = f"S_en_dep_{energy:.1f}_{theta}_{phi}.npy" + for energy, ratio_X, ratio_S, theta, phi, X_en_dep_noisy, S_en_dep_noisy, X_en_dep, S_en_dep in results: + + X_fits = write_fits_dep(energy, theta, phi, 'X', X_en_dep_noisy, X_en_dep) + S_fits = write_fits_dep(energy, theta, phi, 'S', S_en_dep_noisy, S_en_dep) - X_en_dep_file = os.path.join(npy_dir, X_npy_file) - S_en_dep_file = os.path.join(npy_dir, S_npy_file) - - np.save(X_en_dep_file, X_en_dep) - np.save(S_en_dep_file, S_en_dep) - - f.write(f"{energy:.1f}\t{ratio_X:.3f}\t{ratio_S:.3f}\t{theta}\t{phi}\t{X_npy_file}\t{S_npy_file}\n") + f.write(f"{energy:.1f}\t{ratio_X:.3f}\t{ratio_S:.3f}\t{theta}\t{phi}\t{X_fits}\t{S_fits}\n") + + - # Add noise to Energy Depoists Files and save in another folder - npy_noise_dir = "/home/alfonso/Scrivania/THESEUS/xgis_m7-main/python/npy_noise" - if not os.path.exists(npy_noise_dir): - os.makedirs(npy_noise_dir) - - add_noise_X() - add_noise_S() # Estrae i dati, processa in parallelo tutti i file .fits presenti nella folder, usa le due funzioni già definite def data_estraction(file_dat): diff --git a/python/noisy.py b/python/noisy.py index 7e70bfe..733844e 100644 --- a/python/noisy.py +++ b/python/noisy.py @@ -2,72 +2,39 @@ import os import numpy as np import matplotlib.pyplot as plt - +# ! check riccardo def add_noise_X(input): - - - w = 3.66 # eV/e- - fano_factor = 0.125 # for semiconductor detectors + w = 3.66 # eV/e- + fano_factor = 0.125 # for semiconductor detectors sigma_fano = np.sqrt(fano_factor*input/w) # keV*(e-)/eV -> e-rms - sigma_el = 30.0 # e- rms in termini di devizaioni standard + sigma_el = 30.0 # e-rms in termini di devizaioni standard - variance = sigma_fano**2 + sigma_el**2 # Varianza della gaussiana + variance = sigma_fano**2 + sigma_el**2 # Varianza della gaussiana std_row = np.sqrt(variance) - std = (std_row*3.66)/1000 # (e-rms)*eV/(e-rms) --> keV + std = (std_row*3.66)/1000 # (e-rms)*eV/(e-rms) --> keV # Estrai un valore campionato dalla distribuzione gaussiana output = np.random.normal(loc=input, scale=std) - #print(std) - #print("Valore estratto dalla distribuzione gaussiana:", output) - - - os.chdir("/home/alfonso/Scrivania/THESEUS/xgis_m7-main/python/npy") - array = np.load("X_en_dep_2.0_0.0_0.0.npy") - #print(array) - - dep = [add_noise(input) for input in array] # list comprehension di Python, una struttura compatta che consente di applicare una funzione a ciascun elemento di un array o di una lista, creando direttamente un nuovo array con i risultati. - - - - - X_npy_noise_file = "X_en_dep_noy_2.0_0.0_0.0.npy" - X_en_dep_noise_file = os.path.join(npy_noise_dir, X_npy_noise_file) - - new = np.save(X_en_dep_noise_file, dep) - - loaded_dep = np.load(X_en_dep_noise_file) - print("Contenuto del nuovo file .npy con rumore aggiunto:") - print(loaded_dep) - - - - + return output def add_noise_S(input): - light_efficiency = 25 # e-/keV + light_efficiency = 25 # e-/keV sigma_stat = input*light_efficiency - sigma_el = 30.0 # conto due volte perche ho due sdd + sigma_el = 30.0 # conto due volte perche ho due sdd variance = sigma_stat**2 + 2*sigma_el**2 - - std = np.sqrt(variance) + std = np.sqrt(variance)/1000 # Estrai un valore campionato dalla distribuzione gaussiana output = np.random.normal(loc=input, scale=std) - #print(std) - #print("Valore estratto dalla distribuzione gaussiana:", output) - - + return output - - - # # PLOT # # Genera i valori per la curva gaussiana # x = np.linspace(input - 4*std, input + 4*std, 1000) diff --git a/python/rmf.py b/python/rmf.py index 810bee2..502770e 100644 --- a/python/rmf.py +++ b/python/rmf.py @@ -26,6 +26,7 @@ def create_matrix_header(extension): extension.header['RMFVERSN'] = '1992A' extension.header['HDUVERS1'] = '1.0.0' extension.header['HDUVERS2'] = '1.3.0' + extension.header['COMMENT'] = "Alfonso Pisapia" def create_ebounds_header(extension): @@ -49,48 +50,51 @@ def create_ebounds_header(extension): def estract_row(en_dep_file, bins): - en_dep = np.load(en_dep_file) - lenght = en_dep.size - - counts, bin_edges = np.histogram(en_dep, bins=bins) - counts_norm = counts/lenght - - print(counts) - print(counts_norm) - - n_grp = 0 - f_chan = [] - n_chan = [] + with pyfits.open(en_dep_file) as hdul: + data = hdul[1].data + en_dep_noise = data['En_dep_Noise'] + lenght = len(data) + + counts, bin_edges = np.histogram(en_dep_noise, bins=bins) + counts_norm = counts/lenght + + print(counts) + print(counts_norm) + + n_grp = 0 + f_chan = [] + n_chan = [] - # Controlla i gruppi di valori consecutivi non nulli - in_group = False # Stato per controllare se siamo all'interno di un gruppo, booleano - group_start = None # Per memorizzare l'inizio del gruppo, intero, noen= senza valore + # Controlla i gruppi di valori consecutivi non nulli + in_group = False # Stato per controllare se siamo all'interno di un gruppo, booleano + group_start = None # Per memorizzare l'inizio del gruppo, intero, noen= senza valore - # Il ciclo scorre ogni valore dell'array counts_norm e controlla se è maggiore di zero (cioè non nullo). - for i in range(len(counts_norm)): - if counts_norm[i] > 0: - if not in_group: # se non sono gia in un gruppo svolgi i seguenti # ! questi comandi li esegue solo per i valori iniziali di ogni gruppo - in_group = True # apro un nuovo gruppo - group_start = i # Memorizza l'indice di inizio del gruppo - f_chan.append(i) # Aggiungi l'indice di inizio al vettore f_chan - n_grp += 1 # Incrementa il numero di gruppi - else: - if in_group: # Termina il gruppo corrente # ! qui esegue solo al primo zero che trova, se ne trova uno consecutivo non esegue perche trova in_group falso - in_group = False - group_length = i - group_start # Calcola la lunghezza del gruppo - n_chan.append(group_length) # Aggiungi la lunghezza del gruppo a n_chan + # Il ciclo scorre ogni valore dell'array counts_norm e controlla se è maggiore di zero (cioè non nullo). + for i in range(len(counts_norm)): + if counts_norm[i] > 0: + if not in_group: # se non sono gia in un gruppo svolgi i seguenti # ! questi comandi li esegue solo per i valori iniziali di ogni gruppo + in_group = True # apro un nuovo gruppo + group_start = i # Memorizza l'indice di inizio del gruppo + f_chan.append(i) # Aggiungi l'indice di inizio al vettore f_chan + n_grp += 1 # Incrementa il numero di gruppi + else: + if in_group: # Termina il gruppo corrente # ! qui esegue solo al primo zero che trova, se ne trova uno consecutivo non esegue perche trova in_group falso + in_group = False + group_length = i - group_start # Calcola la lunghezza del gruppo + n_chan.append(group_length) # Aggiungi la lunghezza del gruppo a n_chan - # Controlla se l'ultimo gruppo arriva fino alla fine dell'array - if in_group: # se è true esegue - n_chan.append(len(counts_norm) - group_start) - - return n_grp, f_chan, n_chan, counts_norm # row_matrix = counts_norm + # Controlla se l'ultimo gruppo arriva fino alla fine dell'array + if in_group: # se è true esegue + n_chan.append(len(counts_norm) - group_start) + + return n_grp, f_chan, n_chan, counts_norm # row_matrix = counts_norm -def rmf_file(energy, type, en_dep_file_filt, theta, phi): +def rmf_file(type, energy, en_dep_file_filt, theta, phi): + + os.chdir('/home/alfonso/Scrivania/THESEUS/xgis_m7-main/fits_dep') + try: - os.chdir("/home/alfonso/Scrivania/THESEUS/xgis_m7-main/python/npy") - n_grp_col = [] f_chan_col = [] n_chan_col = [] @@ -111,10 +115,10 @@ def rmf_file(energy, type, en_dep_file_filt, theta, phi): n_chan_col.append(n_chan) row_matrix_col.append(row_matrix) - print(f"n_grp: {n_grp_col}") - print(f"f_chan: {f_chan_col}") - print(f"n_chan: {n_chan_col}") - print(f"row_matrix: {row_matrix_col}") + # print(f"n_grp: {n_grp_col}") + # print(f"f_chan: {f_chan_col}") + # print(f"n_chan: {n_chan_col}") + # print(f"row_matrix: {row_matrix_col}") # ! ************************************************************************************************************* diff --git a/python/zero.CANCELLA.py b/python/zero.CANCELLA.py deleted file mode 100644 index abd6908..0000000 --- a/python/zero.CANCELLA.py +++ /dev/null @@ -1,16 +0,0 @@ -# Nome del file da leggere -file_path = "mask.dat" - -# Apri il file in modalità lettura -with open(file_path, 'r') as file: - # Itera su ogni riga del file - for line_num, line in enumerate(file, start=1): - # Rimuovi eventuali spazi vuoti ai bordi e dividi la riga in elementi - elements = line.strip().split() - - # Conta il numero di '0' nella riga corrente - zero_count = elements.count('0') - - # Stampa il numero di zeri per la riga corrente - print(f"Riga {line_num}: {zero_count} zeri") - diff --git a/rmf/Xrmf_0.0_0.0.rmf b/rmf/Xrmf_0.0_0.0.rmf index 870bb5e09b0d4d1fa8bef4ffd825c04f8339f3fa..e5ec9a5c9a3998a2e4bb12d658b95c181b7fc47c 100644 GIT binary patch delta 185 zcmZo@XKZL^+~C8r`Ha$iRyJS9kRZ>9$%=dqn<ol*F|rsNDkyBW*Xm_t(lgk6PP>Uw z+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS<^bIVT$>#%o-(pCF)%PN+BZx-C|)&r znbl18Mwt(Gp<4nb9~6(6JkPp;!{%|HrS0QB%gt&wKN-afK76#BHf=fs6xe?F@DYS3 e9~Af5++_EUW%B_=9>&c+JpHT?2i+HZ$PWPFoI<Mr delta 167 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yz`|#Xn<qQsRbq;b34p5l9Uc_c| zfsi*NMAd%bUPdMbh0T7VO^llr#20W)PGAh!d_eIjBRew#0|TRd!(>5?s>y09GuhWJ zYP9_s6gzpNa>Qgg)dmjR<UUK=RjXESUZ(n!QToG&k9GwgJ~BXo?S~H^Z3`fH@<wHk J%}g5qSO7nJJm3HT diff --git a/rmf/Xrmf_0.0_180.0.rmf b/rmf/Xrmf_0.0_180.0.rmf index f8029000e206ecdd1f78f4e91a8a20281d0244e5..d633caa260778d81ef014846cb8460784b4bbee9 100644 GIT binary patch delta 571 zcmZo@XKZL^+~C7A`Ha#6CIf@bdCD7@8BHe3tIuaNnY>^94V$lHNRVg5WJNxQ%@YN@ z7+H)B6%;nxYxOcR=^1Q3r`^OT?(FaD>*^Px;Fyz^pI4l(5Rh4%Sdf`GIgrtEbAavw zuE`D-lJzkR3=HxN3=BIQS1>R*DKIcFFhMa3lum%CU^D^AI^{q`L8^G5><p-i4Io*k zISdR8AiW?g0%aFKR50m)WStH%FfcGfa6N+xgu&1NRk8vk?eqd_G{_nQD7y!uf>{M5 z>&y-n1*x!rvZp{*EC9(mOF>NrS>*s_gB&N%z`!EI00GhnxB5Wcx&mSd%Z$lImfDjS zS}Jf#GcYhPGB7Z3Og?9+&&WQR$x5A{4Qe1roYB5v@<H*c$=j@Il^KO&ZT(skZ93OE zLTq4Qu#<YiX&0{GYFF^#BZ!`SP&|Uic9&j{9aHcL+xTq0$-As;+1Gddw0Xt1aI&4v zOZKma`fV3q=bEf%dt>qiahAz!c9N5o?c`Z(llv?uciH)Do@DoqW%31afz1aLc^EhQ O@bt4n;{U$jLw*3hOK_b4 delta 559 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yj`|vDaGBn%#j%Nciqv_=N0`nP7 zC)*3Y;S3INbq;b34p5l9Uc_c|fsi*NMB{$pUPdMbh0T7VO^llr#20W)PGAg}d_YmM zK81mSL7stu;e_J~1_mbu1_lNuC}x4u84wkWE+AQ_9H=Nr6%UkM09A1SB<nPXfq?;} z7lcKi><WkqCL55f(;=uR3j;$vg9?<>0adaCB<=J9YBb0i6DWHIL<O@6NY<GhDhg6z z17$COs@MRMb(UgaU|@z~7bv{~qJl+-0Rp5M7+4t~H~>m-fht)s`IC}1BkN=-Wo2HF zQ6LQ*3=9n1liif{SwX&Inp~!=E(~)BBLf2i7~3~Y7SyPktfo?{%(>3dR!8!pP3JmC zkaiHZlX}8w7p~xHxBN`J?S~H^CvQ}a;IZAM*JFD>o6mO2C(g-Qs<rH|_!fc`PhO|` rl6~=YF59n%`X|p*yD_;+U2<~2x-!Te47SOAmXrUfdu(RXc*g<&QEO)7 diff --git a/rmf/Xrmf_0.0_270.0.rmf b/rmf/Xrmf_0.0_270.0.rmf index ac69a7aeb08de2fb44c8d0a8070282e2f6eee26a..8a3675f781b1e04c4dc0b47155304a1020d3445c 100644 GIT binary patch delta 185 zcmZo@XKZL^+~C8r`Ha$iRyJS9kRZ>9$%=dqn<ol*F|rsNDkyBW*Xm_t(lgk6PP>Uw z+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS<^bIVT$>#%J~Js>1irCVzRtyf1Z)>y z=dxp!+hKR+%vn3->s*r$ibwF+$(RV*B`)Z;4RFm_yvv%2$L7O_k9H<owu0!%2gP+Z af3odk-F!fihjFtHPd_WfLH7k8@&f?3tv^Np delta 163 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yz`|#Xn<qQsRbq;b34p5l9Uc_c| zfsi*NMAd%bUPdMbh0T7VO^llr#20W)PGAh!d_eItld@BPjIHu@E(RoEyZAbn9jn|9 zyAO-6+wKT_Gx?x$1dpAJiJ)D8YmRN#jn9j%RGD~e3qE|b6Pq^O=EH}NlMgEEY%Wso GV+8=8Pd9)7 diff --git a/rmf/Xrmf_0.0_360.0.rmf b/rmf/Xrmf_0.0_360.0.rmf index 870bb5e09b0d4d1fa8bef4ffd825c04f8339f3fa..304073ae07b63a659ade35ff03340e16cf002bbf 100644 GIT binary patch delta 199 zcmZo@XKZL^+~C8r`Ha$iRyJS9kRZ>9$%=dqn<ol*F|rsNDkyBW*Xm_t(lgk6PP>Uw z+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS<^bIVT$>#%8W|a-Hy^T0WK`y>Ftxe5 zCBTNS!ju6D?8M`D+J$Zjuv@9O-;Q;{rpX7zBR0>ou4EL~TD97C)vDFDAX;nHYP-<T sP&)<&hRJ%iCnjGIXPNxXR%A1uT@mZ%1ByJ1n|*ltSs~85FZhrj024kzvj6}9 delta 177 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yz`|#Xn<qQsRbq;b34p5l9Uc_c| zfsi*NMAd%bUPdMbh0T7VO^llr#20W)PGAh!d_b|0kx^>1lX4=XvUvPXo2y#_Z1^fn z8KA&UJbtHL=#~JxwTl{Ue+I=)-l!b0Sx&W*QJjH+!H$7}!B%V4Y7n+-U|_IawQBX` Vb!sOjSE-9kKA_C9xlg@_6#z(lIDY^D diff --git a/rmf/Xrmf_0.0_90.0.rmf b/rmf/Xrmf_0.0_90.0.rmf index 901d6c06efd12f419bd8fe03c0c0bed5f8c82af7..4d0f74ae2f455cf76f66a61269afaa123167cd8b 100644 GIT binary patch delta 233 zcmZo@XKZL^+~C8r`Ha$iRyJS9kRZ>9$%=dqn<ol*F|rsNDkyBW*Xm_t(lgk6PP>Uw z+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS<^bIVT$>#%IvE+IH=nZ1WK>o%KWwXH zewYCYY(V@)=7;TgKb*Gf{czfDGE?W|gW?f9cBX5y?ZURMwRJP>nY_!og2VRt%@{k~ z$E=&JY|b!Fz97yrnaxgMvXq^ubc-T~9g8A|?J>h1+ZG57=CderOg<>?v3Zi+JC@A{ T6nPjo`|$L$LOgI^@F70{yr@h} delta 207 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yz`|#Xn<qQsRbq;b34p5l9Uc_c| zfsi*NMAd%bUPdMbh0T7VO^llr#20W)PGAh!d_b|2kx^>1mvSbfvQD(Ut&;g+1}Lym zGCyp)$o#M!?}yWNpM#g$ZmZif`Ji$HkDck-Y&$o@9@`d0j>%T46&!Z#cBk#6CcN0Z lOZ5!n<SuoA$<x#&rH>i**urp&A_p>i@<C;f%|aUQSO5%_MVJ5p diff --git a/rmf/Xrmf_30.0_0.0.rmf b/rmf/Xrmf_30.0_0.0.rmf index 5c6f937604b8972eb88f7b0dde64b927bf971f37..a0c453f20fb6b05ba6065d3473574fdc47352944 100644 GIT binary patch delta 181 zcmZo@XKZL^+~C8r`Ha$iRyJS9kRZ>9$%=dqn<ol*F|rsNDkyBW*Xm_t(lgk6PP>Uw z+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS<^bIVT$>#%Rx&a&O@3whkbT16J@!Qz zW|I$!XQ<e*D00}cC~`2M0XtPqFT1U4v+b5@dQCnk9>Ha+e4WeA=ge7K<;@4I53p}O Tpvc3x*@vf}72=rtf)Dut_M10| delta 144 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yz`|#Xn<qQsRbq;b34p5l9Uc_c| zfsi*NMAd%bUPdMbh0T7VO^llr#20W)PGAh!d_Zv}BO~MFEaivn0)O||m#op9d{H@r t#ZFbzYw|^95gri3o+nw-jzy7U@<rtcE?ed6Tz1OWxoj72c2GUQ4ge-|E%^Wd diff --git a/rmf/Xrmf_30.0_180.0.rmf b/rmf/Xrmf_30.0_180.0.rmf index 5e20690d68d575beb7ed82977b0819508dbd7b23..5d1edbea1a0a6226e7c670cba055315a7b1f1fd7 100644 GIT binary patch delta 189 zcmZo@XKZL^+~C8r`Ha$iRyJS9kRZ>9$%=dqn<ol*F|rsNDkyBW*Xm_t(lgk6PP>Uw z+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS<^bIVT$>#%)-p0OO@3$jlzqbAJ@!Qz zW|I$!XQ<e*D00}cC~`2M0XtPqFT3x1-`lwv_Dnt~9<h0!H6tUZ<jh&NXU?3pYnbd~ cqqO;z%`~>n2NZc2H~aAPvqBtoU+^J601+uXCjbBd delta 152 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yz`|#Xn<qQsRbq;b34p5l9Uc_c| zfsi*NMAd%bUPdMbh0T7VO^llr#20W)PGAh!d_Zw6BO~MFJmshC0)O||m#op9d{H@r z#ZFbzYw|^95gri3o+nw-jzy7U@<ru{&33AcjGR7a&f5B%IcwK2`HZU4<}9^oYyh`A BG9&;1 diff --git a/rmf/Xrmf_30.0_270.0.rmf b/rmf/Xrmf_30.0_270.0.rmf index 56157b82d94ecae6ed8c58235400849da785c377..398f5c01c002eb6e31b3105b8f00485e030af155 100644 GIT binary patch delta 432 zcmZo@XKZL^+~C7A`Ha#6CKH3rdCIn|Y`%^mL7owl75N-CPZaQCWHB~WP}pp*)yv4F zXR!I4b`ztxv%jyet6zwMV@_IrUU9xcKxT1bL1yCQKt{{W0lEvgCOcS2))z1^Fvv47 zFg$Qv!NB08z`(%31jQ^+x&)$vF$N^-l*7QlzzoGaP`U=H;s!|8X%18rq)GzH?trLZ z3IWMF9b#Z$0GZChz+l3l0_9ABD!BlXc6tF71t~LuvX?+qF#AmAv6S@P0_B}>W@lh< zmV&AQsSkj%4?t9~xG=x~NEU<>peimvRUDXHWEsxLJo%WVJ|oNIZ<f}qpg>^UY-FXw z$Yi%+a)6E4<O|{+oA+7&VB`Q9W@oZx>*js7yI40LP~>6U?8DQ~3W<RGf)Dutk$Oyz delta 404 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yj`|vDaGB(=$j>ndjGdRH2Imk6Q zKw<KF5u42gLf(uJ#ruVO8JQFmHv5S-F>Y26U%)jvfiYn60Y%CB90mpkc?JfC8;&a& z7@QOs7#NtKm<37~KvXb>fMlIO>X{iB7(kc@N>@NtTmZ>B&4G%7R7gPCEf5t<J|J1A zLktWIAk$eG7)%&cpqvR%B_}}APA{OMAY~>{_5z3sW|zr5N|L@Cpu7Xl><kRfQc#OP zmIgrCdmt)UY#3kwWEu#^KutUWRk368C#CSozREg`%#*8>tr=N1?^4!bWU|+o{7^Y= cvzzJ<Mh@G84<BtmeE7K8O??;Z<PXXm0O*-W6aWAK diff --git a/rmf/Xrmf_30.0_360.0.rmf b/rmf/Xrmf_30.0_360.0.rmf index 5c6f937604b8972eb88f7b0dde64b927bf971f37..e41d85966b478d644a3e350b6c33ce528d858763 100644 GIT binary patch delta 154 zcmZo@XKZL^+~C8r`Ha$iRyJS9kRZ>9$%=dqn<ol*F|rsNDkyBW*Xm_t(lgk6PP>Uw z+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS<^bIVT$>#%x|!G~{M}<;lwmgcpm@e) zD{C1JyJLnuc2kyWPCh6ev3Z*{3nPaeM@Oe!M@Q%8LpJ-^HXl&rVchJ))6WXA@xI_g FegLJRH9r6V delta 132 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yz`|#Xn<qQsRbq;b34p5l9Uc_c| zfsi*NMAd%bUPdMbh0T7VO^llr#20W)PGAh!d_b|AiCy6D9{Z9tx|1&|XH4FuBEw<N jlPqb+qR27%qH@G$GgTHw4%?27PP<jBR&RDv+s6g~EI%vQ diff --git a/rmf/Xrmf_30.0_90.0.rmf b/rmf/Xrmf_30.0_90.0.rmf index 4a6f0745e46ddde4b95fb44288cb2013298d96e9..70db773ac3ecb6972a03c9a4fa91cec0b5d1c7ec 100644 GIT binary patch delta 499 zcmZo@XKZL^+~C7A`Ha#6CIgGjdCIn|Y`%^mL7owl75N-CPZaQCWHB~WP}pp*)yv4F zXR!I4b`ztxv%jyet6zwMV@_IrUU9xcKxT1bL1yCQKt{{W0lEvgCOcS2)+aD9Fvv47 zFdT4P!NB08z`(%31jQ^+It8MF(FP>zl*7QlzzoGaP#PpA&%nUA10?G-2Pz6uB>`nu zK+Iq=0m(WYVqjnZna;w%V8WmR<+MPRYye3+y?|N{a*PR-Jq4nIS!Xhjr6ecF8hHi= z<`t9mEG4y9K;&3JrZIp4$a)YCfjVIeRK<eHMV9uGj8I#-85kHqY*q#a1`wNJ@;OU+ zMwZF%EY+1kc7sd+$%AN+lR<2Ds2)c9hRFxTt0r%=n!#bWORvYSd(q3u2gM^cud^;; zoP0r?g~cw%@91PL+Zs081_lN@hskSfn>cI>K76z@*|K%BnVlEw<O|{)n-3`RFmCqY N>1Tz+;eEk}`~ao#TB`s6 delta 464 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yj`|vDaGBn%#j>ndjGdRH2Imk6Q zKw<KF5u42gLf(uJ#ruVO8JQFmHv5S-F>Y26U%)jvfiYn60Y%CB6b1$cc?JfC6OJnw z7@QOs7#NtKm<38_KvXcgfMlI=7#J9sp_m6s7eG}U0LePdfr^4uNkG{(5EV=|AX%qF z3=9k)(^(i8Oc+$4oDQgx9Uy6^7f{PVjxm9<XFyain@sLelH^<f<!zX}PDxUG4TQ&{ z!vF(N3m8J6=I?;2STXsNlD#ZQ6-Wg)0|Nsi0|Nsq0|Nty4H9RY?4>Nv$UHeqSzQ+7 z2@nRU0ns2mAT~%n<K|V$GK?(tN-uUzKByeCSxvQsk;8Uw=S@4=&YP1LsnxLAF)%RL WF-%rbZ{h$MY*+B%<K}hhUaSB!3rkJ_ diff --git a/rmf/Xrmf_60.0_0.0.rmf b/rmf/Xrmf_60.0_0.0.rmf index c5a6c1764cc786b859140588a601794027a90ec6..2f946003115f8dd1fdaa906ebb96ef4fca7d8c43 100644 GIT binary patch delta 106 zcmZo@XKZL^+~C8r`Ha$iRyJS9kRZ>9$%=dqn<ol*F|rsNDkyBW*Xm_t(lgk6PP>Uw z+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS<^bIVT$>#%9Jn_hP~>6U?8DQ~3Nhin H;6r`@7!@Js delta 84 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yz`|#Xn<qQsRbq;b34p5l9Uc_c| lfsi*NMAd%bUPdMbh0T7VO^llr#20W)PGAh!d_d8G8vua)8khh8 diff --git a/rmf/Xrmf_60.0_180.0.rmf b/rmf/Xrmf_60.0_180.0.rmf index be69c655c6a48a72471eb16cd6777ec21ae8277d..e453e8d817bf9400aebac245c4fbd8d99d88fe89 100644 GIT binary patch delta 137 zcmZo@XKZL^+~C8r`Ha$iRyJS9kRZ>9$%=dqn<ol*F|rsNDkyBW*Xm_t(lgk6PP>Uw z+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS<^bIVT$>#%3>g_&Cl^`zv$8NSFtBVs nX4%8U!N9=4U^~fEb#s)B8vEu0iad;)eR%p=Ar{;he8>*~PBbWK delta 115 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yz`|#Xn<qQsRbq;b34p5l9Uc_c| zfsi*NMAd%bUPdMbh0T7VO^llr#20W)PGAh!d_d8Vk&$ikCnbMYRt5$J=FM)(Jxm<7 RlRQ-!7#J8f-%?d$2LK~BAy)tZ diff --git a/rmf/Xrmf_60.0_270.0.rmf b/rmf/Xrmf_60.0_270.0.rmf index 919dff5e7cf20abeaf41aefb0e57919be7c55cad..6085246e3b9c755955fb2cfcce3384258d8b7bcc 100644 GIT binary patch delta 380 zcmZo@XKZL^+~C7A`Ha#6CNqo8dCIn|Y`%^mL7owl75N-CPZaQCWHB~WP}pp*)yv4F zXR!I4b`ztxv%jyet6zwMV@_IrUU9xcKxT1bL1yCQKt{{W0lEvgCOcS2)~7HqFvv47 zFr0A8VPJ5Y!@$7648<%^Is>AD(FG*ybO<U6QY8Romq1k<0LePNU|?Wig<=^f-2hR+ zWCN0QW`~NhGBAWO7(h8wph|Xtq@AT07#Khf0AUv>dj&)Vvk3zXfMh{91gc^ORK<qL zdY0a-ASbd;F0+j0WMW`oU<9eze95wfNyrYW-xlO71_lN@hRqo^9PFD9DDp6F_TlMg Lg#_k(!H4_+;sQM+ delta 348 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yj`|vDaGBw)#j>ndjGdRH2Imk6Q zKw<KF5u42gLf(uJ#ruVO8JQFmHv5S-F>Y26U%)jvfiYn60Y%CB7zPFgc?JfC9Zoq6 z3{G<x7#NtLm<38FKvXcAfMlHxK}A8T1fc93sEQ3BS*I5a3=FJLECZ!0AS#%2K(fy4 zP*GL}hA;*LD5nRiWCcjtS&D&yfeDITp!5QW3T71s7yvmDgnbwo7(nz2sEP%X*C}~V fW>k(~<lLO3+`=Se+rYqpiZ}mI<zSz@Kv@6)wWB!_ diff --git a/rmf/Xrmf_60.0_360.0.rmf b/rmf/Xrmf_60.0_360.0.rmf index c5a6c1764cc786b859140588a601794027a90ec6..b2942df5f54ba9ac839aff84d8c9e7ac2a9ef745 100644 GIT binary patch delta 136 zcmZo@XKZL^+~C8r`Ha$iRyJS9kRZ>9$%=dqn<ol*F|rsNDkyBW*Xm_t(lgk6PP>Uw z+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS<^bIVT$>#%f*BcECr_~qW@TYuU|`w& m#*&AbgMop8!M3BLbCYcY+vWp`JdB%tc=}l(=HC~5$PWNLRVeTP delta 115 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yz`|#Xn<qQsRbq;b34p5l9Uc_c| zfsi*NMAd%bUPdMbh0T7VO^llr#20W)PGAh!d_Xank&$h(h;lG1D+2=q^X4379%c^P Qj*d<S1_p-B4QdT+01yEn-~a#s diff --git a/rmf/Xrmf_60.0_90.0.rmf b/rmf/Xrmf_60.0_90.0.rmf index 5f45958bce592495bcc70a658dac13d2da2ab218..90b0f46997468f8d6a5c21896a44137abb20370c 100644 GIT binary patch delta 166 zcmZo@XKZL^+~C8r`Ha$iRyJS9kRZ>9$%=dqn<ol*F|rsNDkyBW*Xm_t(lgk6PP>Uw z+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS<^bIVT$>#%EEySDCs$c|i!w7XFfcJN zFfc+fh|RM3mZc06hwZ9Wt3i13KkFP01_lNO+m4RT%|$kR?3)iL@-S}p;pu0E*nVH| GAwK}hw=aJH delta 144 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yz`|#Xn<qQsRbq;b34p5l9Uc_c| zfsi*NMAd%bUPdMbh0T7VO^llr#20W)PGAh!d_d8Xk&$ikFC}kLCI$uu5N2dxU;tre n1_lP^%~8rSOdNJvt5!2GFfdH6Q_bP9?da$PaW;Qa<zoi`y%HrG diff --git a/rmf/Xrmf_90.0_0.0.rmf b/rmf/Xrmf_90.0_0.0.rmf index 9884bf6971dd2e2e50f26542535dfaad88775962..91d8559c6a5fd34dbf314229c973b56121df8473 100644 GIT binary patch delta 106 zcmZo@XKZL^+~C8r`Ha$iRyJS9kRZ>9$%=dqn<ol*F|rsNDkyBW*Xm_t(lgk6PP>Uw z+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS<^bIVT$>#%9Jn_hP~>6U?8DQ~3Nhin H;6r`@7!@Js delta 84 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yz`|#Xn<qQsRbq;b34p5l9Uc_c| lfsi*NMAd%bUPdMbh0T7VO^llr#20W)PGAh!d_d8G8vua)8khh8 diff --git a/rmf/Xrmf_90.0_180.0.rmf b/rmf/Xrmf_90.0_180.0.rmf index d3fe25e6054096106976054b291b21948b168153..f9ae08a34406de4209707e47a59ed952371abe98 100644 GIT binary patch delta 106 zcmZo@XKZL^+~C8r`Ha$iRyJS9kRZ>9$%=dqn<ol*F|rsNDkyBW*Xm_t(lgk6PP>Uw z+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS<^bIVT$>#%9Jn_hP~>6U?8DQ~3Nhin H;6r`@7!@Js delta 84 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yz`|#Xn<qQsRbq;b34p5l9Uc_c| lfsi*NMAd%bUPdMbh0T7VO^llr#20W)PGAh!d_d8G8vua)8khh8 diff --git a/rmf/Xrmf_90.0_270.0.rmf b/rmf/Xrmf_90.0_270.0.rmf index 709775d06274e2a73bed72fad97bddb113b81d67..a6b1a87d9e7d0deb438209929e8b768760e64e5c 100644 GIT binary patch delta 106 zcmZo@XKZL^+~C8r`Ha$iRyJS9kRZ>9$%=dqn<ol*F|rsNDkyBW*Xm_t(lgk6PP>Uw z+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS<^bIVT$>#%9Jn_hP~>6U?8DQ~3Nhin H;6r`@7!@Js delta 84 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yz`|#Xn<qQsRbq;b34p5l9Uc_c| lfsi*NMAd%bUPdMbh0T7VO^llr#20W)PGAh!d_d8G8vua)8khh8 diff --git a/rmf/Xrmf_90.0_360.0.rmf b/rmf/Xrmf_90.0_360.0.rmf index 9884bf6971dd2e2e50f26542535dfaad88775962..91d8559c6a5fd34dbf314229c973b56121df8473 100644 GIT binary patch delta 106 zcmZo@XKZL^+~C8r`Ha$iRyJS9kRZ>9$%=dqn<ol*F|rsNDkyBW*Xm_t(lgk6PP>Uw z+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS<^bIVT$>#%9Jn_hP~>6U?8DQ~3Nhin H;6r`@7!@Js delta 84 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yz`|#Xn<qQsRbq;b34p5l9Uc_c| lfsi*NMAd%bUPdMbh0T7VO^llr#20W)PGAh!d_d8G8vua)8khh8 diff --git a/rmf/Xrmf_90.0_90.0.rmf b/rmf/Xrmf_90.0_90.0.rmf index a4a565f878879b9b1ba838d099f4cf7061095a0b..a86f0ff010d2cb7830a19bbff17a7e35a548648b 100644 GIT binary patch delta 106 zcmZo@XKZL^+~C8r`Ha$iRyJS9kRZ>9$%=dqn<ol*F|rsNDkyBW*Xm_t(lgk6PP>Uw z+}YpP*VQjX!7(Q-Kd(4nAt19ju^=;Xav-DS<^bIVT$>#%9Jn_hP~>6U?8DQ~3Nhin H;6r`@7!@Js delta 84 zcmZo@XKZL^+~C8rnMbdmmBr8B&vo;B<A?m4ba@yz`|#Xn<qQsRbq;b34p5l9Uc_c| lfsi*NMAd%bUPdMbh0T7VO^llr#20W)PGAh!d_d8G8vua)8khh8 diff --git a/xgis_M7 b/xgis_M7 index 7c7706bbcc79ec7141751625e5ddc9cc7d80623c..a9034cd29db548472ca19631b1aa8656344a070a 100755 GIT binary patch delta 86 zcmdn+Pa1?4FpCJizG|Rz-qGK$Podb7Wsl!i|4-q~TbSFoFf(r7!pxNOLV)Y~;sV<) q6$c4jmyq9zKkX+^%#v>Re#6x6{f4>S`wdIG_Z!yj-f!5R3IPCL93=q& delta 86 zcmdn+Pa1?4FpDIb8sGJPRN$7lUaPyPM`Y@Sm-{N3w=lPFVP@REg_$Ymg@DJyDv@>W q#tss?E+M}af7(x;m?hor{f4RC`weru_ZyaW?>DU5z2C4s6#@XEXC@T@ -- GitLab