Skip to content

Instantly share code, notes, and snippets.

View ialexpovad's full-sized avatar
:electron:
I may be slow to respond.

nystagmus ialexpovad

:electron:
I may be slow to respond.
View GitHub Profile
@ialexpovad
ialexpovad / GranScannerMeanSTD.py
Created December 17, 2021 12:13
[GranScannerMeanSTD.py] Алгоритм позволяет определить среднее значение изменяющегося положения пика и СКО полученного массива данных.
path = r'd:\ATOMTEX\trash'
import statistics
from chardet.universaldetector import UniversalDetector
namefile = 'GranScannerWebViewer.txt'
enc = UniversalDetector()
with open(path + f'\{namefile}', 'rb') as flop:
for line in flop:
enc.feed(line)
if enc.done:
break
@ialexpovad
ialexpovad / encoding.py
Created December 20, 2021 08:51
#python #encoding
def encodingfile(Path, NameFile):
from chardet.universaldetector import UniversalDetector
'''
Функция возвращает кодировку указанного файла в строчном формате.
:param Path: Директроия, где располагается файл.
:param NameFile: Имя файла с расширением (namefile.txt)
:return: Кодировка файла ('utf-8')
'''
enc = UniversalDetector()
with open(Path + f'\{NameFile}', 'rb') as flop:
@ialexpovad
ialexpovad / DivisionAxes.py
Created December 20, 2021 11:33
[DivisionAxes.py] Деление осей и подписи к ним #python #matplolib
import numpy as np
import matplotlib.pyplot as plt
# Подключаем модуль управления тиками:
import matplotlib.ticker as ticker
x = np.linspace(-10, 10, 200)
y = 0.01*(x + 9)*(x + 6)*(x - 6)*(x - 9)*x
fig, ax = plt.subplots()
@ialexpovad
ialexpovad / GM.py
Created December 23, 2021 08:34
Определение основной относительной порешности при измерении мощности амбиентного эквивалента дозы гамма-излучения.
import numpy
import pandas
import random
import statistics
# Ремонт прибора АТ6102?
remont = False
# Заводской номер прибора
device = '615--'
# Погрешность установки дозиметрической гамма-излучения
errorUDG130 = 2.7
@ialexpovad
ialexpovad / nuetron.py
Created December 24, 2021 07:42
Определение чувствительности спектрометра к нейтронному излучению Плутоний-Бериллиевого источника.
f'''
Определение чувствительности спектрометра к нейтронному излучению Плутоний-Бериллиевого источника.
'''
import random
import statistics
from tkinter import ROUND
NMEAN = float(245) # среднее арифметическое значение скорости счета импульсов фотонного излучения, cps
r0 = 100 # расстояние от центра источника до центра детектора
@ialexpovad
ialexpovad / isotope.py
Created December 24, 2021 07:58
График логарифмической функции интенсивности линии гамма-излучения определенного изотопа в зависимости от энергии
import pandas
import plotly.express
import plotly.graph_objects
import urllib.request
isotope = '40k'
# Example
# https://www-nds.iaea.org/relnsd/vcharthtml/api_v0_notebook.html
# the service URL
@ialexpovad
ialexpovad / excel.py
Created November 29, 2022 06:27
[Excel, LibreOffice table in PyQt] The task is to copy table from office applications (MS Office, LibreOffice) and to paste it into GUI that was implemented by PyQt5 and QTableView.
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
import csv, codecs
import os
import pandas as pd
import numpy as np
from PyQt5.QtCore import Qt, QDir, QItemSelectionModel, QAbstractTableModel, QModelIndex, QVariant, QSize, QSettings
from PyQt5.QtWidgets import (QMainWindow, QTableView, QApplication, QToolBar, QLineEdit, QComboBox, QDialog,
QAction, QMenu, QFileDialog, QAbstractItemView, QMessageBox, QWidget, QTableWidgetItem)
@ialexpovad
ialexpovad / silence_exception.py
Created December 1, 2022 06:35
[Preventing PyQt to silence exceptions occurring in slots] +100 Can create a decorator that wraps PyQt' new signal/slot decorators and provides exception handling for all slots. Can also override QApplication::notify to catch uncaught C++ exceptions.
import sys
import traceback
import types
from functools import wraps
from PyQt5 import QtGui, QtCore, QtWidgets
def MyPyQtSlot(*args):
if len(args) == 0 or isinstance(args[0], types.FunctionType):
args = []
@QtCore.pyqtSlot(*args)
@ialexpovad
ialexpovad / combodelegate.py
Created December 1, 2022 07:57
[Combo delegate] #pyqt5 #python
from PyQt5.QtCore import (Qt, pyqtSlot)
from PyQt5.QtWidgets import (QStyledItemDelegate, QComboBox)
class ComboDelegate(QStyledItemDelegate):
def __init__(self, parent, items):
self.items = items
QStyledItemDelegate.__init__(self, parent)
@ialexpovad
ialexpovad / notify.py
Created December 15, 2022 14:10
Notification class for library base on pre-build QApplication . Saved and accesible through a notify window, which opens by clicks on the notify button of any window.
# General Library Pre-Build QApplication
# Notify file
Author = "Alex Povod"
Version = "0.0.1"
Domain = "https://github.com/ialexpovod/GLP"
# Python Traceback
# https://www.geeksforgeeks.org/python-traceback/
import datetime