Skip to content

Instantly share code, notes, and snippets.

View fedorov's full-sized avatar
🇺🇦
Времена не выбирают, в них живут и умирают. - Александр Кушнер

Andrey Fedorov fedorov

🇺🇦
Времена не выбирают, в них живут и умирают. - Александр Кушнер
View GitHub Profile
@fedorov
fedorov / manifest.json
Created March 24, 2023 16:21
IDC TotalSegmentator example VolView manifest
{
"resources": [{
"url": "gs://public-datasets-idc/52b7231d-75da-4e71-896f-1b2a963a7425.dcm"
}, {
"url": "gs://public-datasets-idc/b89fd61f-8943-49da-847e-141738404892.dcm"
}, {
"url": "gs://public-datasets-idc/f470858c-d2f3-46f8-8de5-4586a0dffc65.dcm"
}, {
"url": "gs://public-datasets-idc/e57502fe-2ad2-42a8-99ae-75d378a4d10a.dcm"
}, {
@fedorov
fedorov / log.txt
Created March 6, 2024 17:10
SlicerRT error log - Slicer 5.7.0-2024-03-04
[Qt] Error(s):
[Qt] Cannot load library /Applications/Slicer-5.7.0-20240306.app/Contents/Extensions-32750/SlicerRT/lib/Slicer-5.7/qt-loadable-modules/libqSlicerBeamsModule.dylib: (dlopen(/Applications/Slicer-5.7.0-20240306.app/Contents/Extensions-32750/SlicerRT/lib/Slicer-5.7/qt-loadable-modules/libqSlicerBeamsModule.dylib, 0x0085): Library not loaded: @rpath/libomp.dylib
[Qt] Referenced from: <8CC410E5-7FE3-33F6-BC6E-A68391968FE8> /Applications/Slicer-5.7.0-20240306.app/Contents/Extensions-32750/SlicerRT/lib/Slicer-5.7/qt-loadable-modules/libvtkSlicerBeamsModuleMRML.dylib
[Qt] Reason: tried: '/Applications/Slicer-5.7.0-20240306.app/Contents/bin/../Extensions-32750/QuantitativeReporting/lib/Slicer-5.7/libomp.dylib' (no such file), '/Applications/Slicer-5.7.0-20240306.app/Contents/bin/../Extensions-32750/SlicerDevelopmentToolbox/lib/Slicer-5.7/libomp.dylib' (no such file), '/Applications/Slicer-5.7.0-20240306.app/Contents/bin/../Extensions-32750/IDCBrowser/lib/Slicer-5.7/libomp.dylib' (no such file),
@fedorov
fedorov / test.js
Last active February 3, 2026 22:28
window.config = {
// This must match the location configured for web server
path: "/",
servers: [
{
id: "test",
// This must match the proxy location configured for the web server
url: "https://dev-proxy.canceridc.dev/current/viewer-only-no-downloads-see-tinyurl-dot-com-slash-3j3d9jyp/dicomWeb",
write: true,
},
window.config = {
routerBasename: '/',
whiteLabeling: {
createLogoComponentFn: function (React) {
return React.createElement(
'a',
{
target: '_self',
rel: 'noopener noreferrer',
className: 'text-purple-600 line-through',
@fedorov
fedorov / dir_compare.py
Created September 5, 2025 19:22
recursive compare two folders
import os
import hashlib
import argparse
def md5sum(filename, blocksize=65536):
hash_md5 = hashlib.md5()
with open(filename, "rb") as f:
for chunk in iter(lambda: f.read(blocksize), b""):
hash_md5.update(chunk)
return hash_md5.hexdigest()
@fedorov
fedorov / claude_pulleys_gist.txt
Last active March 13, 2026 21:01
Claude thinking how to fix pulley visualization
The user is pointing out that the SVG diagram showing the pulley system is not
realistic - the rope is intersecting with the pulleys instead of wrapping
around them properly. I need to fix the diagram to show a more realistic pulley
system where ropes properly wrap around/over the pulleys without intersecting
them.
Let me think about how a block-and-tackle pulley system actually works and how
to draw it properly.
In a typical block-and-tackle system:
Fixed pulleys are attached to the ceiling