A 3D Slicer Extension to view data from the flywheel heirarchy

Overview

flywheel-connect

A 3D Slicer Extension to view, select, and download images from a Flywheel instance to 3D Slicer and storing Slicer outputs back to Flywheel.

Flywheel is a comprehensive data management solutions for life sciences and imaging research. More details at https://flywheel.io/.

The Flywheel Connect 3D Slicer Extension is now in the 3D Slicer Extension Catalog and available through the 3D Slicer Extensions Manager for direct installation.

Usage Instructions

  1. Install 3D Slicer and the Flywheel extension as described here.

  2. Navigate to flywheel-connect under the Modules drop-down box. Select Extension

  3. To access the Flywheel container hierarchy first enter your Flywheel api-key and press "connect". If you have logged in with the Flywheel CLI (Command-Line-Interface), the cached Flywheel api-key can be used without entering a new one.

  4. Navigate to the desired Acquisition in the Container Hierarchy Tree for a particular project.

  5. By clicking on a file or files in the "Files" of a container, they can be loaded into 3D Slicer if they are images or models of the 3D Slicer Supported Data Formats. Compressed archives of DICOMs are also supported, if they are labeled as such in Flywheel.

  6. By clicking on a container, slicer-derived files can be uploaded to Flywheel as

    • Files under a selected container
    • Files for a new Analysis object under a selected container.

File Management

Files will be cached to the flywheelIO/ directory of the users home directory. This is default and can be changed. If caching files is not desired, uncheck "Cache Images". This will delete all files in the cache between downloads.

Interface Overview

The interface is shown below. Notable areas are commented on:

Tree View

  • A) The API-Key can be entered here. Or the cached API-Key will be used from a previous fw login {API-KEY} command. When connecting to a Flywheel instance all data will be cleared from 3D Slicer to prevent invalid data references between Flywheel instances. If there is no previously cached login--or the supplied API-Key is invalid--an error dialog is displayed.
  • B) Default disk cache.
  • C) If unchecked, the cache will be cleared between downloads.
  • D) Select Box for Groups. This will "cascade" selections for the first project, if it exists.
  • E) Select Box for Projects. The selected project will clear and repopulate the tree. If no project exists, the tree is not enabled.
  • F) Analyses objects are not automatically cached. Double-clicking will load all Analysis.
  • G) Files that are cached will have a green "badge". Right-clicking on selected files will enable them to be cached. Some downloads are large.
  • H) Load all selected files. Files that are Slicer-supported data formats (Images and Models) will be loaded. This will only be enabled if files are selected.
  • I) Upload derived files to Flywheel Analysis or Container files. This will only be enabled if a single valid Flywheel Container is selected.
  • H) If checked, indicates that derived files should be uploaded to Flywheel as Analysis output under the selected Container.
You might also like...
An extension module to make reaction based menus with disnake

disnake-ext-menus An experimental extension menu that makes working with reaction menus a bit easier. Installing python -m pip install -U disnake-ext-

Functional collections extension functions for Python

pyfuncol pyfuncol Installation Usage API Documentation Compatibility Contributing License A Python functional collections library. It extends collecti

 Gaia: a chrome extension that curates environmental news of a company
Gaia: a chrome extension that curates environmental news of a company

Gaia - Gaia: Your Environment News Curator Call for Code 2021 Gaia: a chrome extension that curates environmental news of a company Explore the docs »

A ULauncher/Albert extension that supports currency, units and date time conversion, as well as a calculator that supports complex numbers and functions.
A ULauncher/Albert extension that supports currency, units and date time conversion, as well as a calculator that supports complex numbers and functions.

Ulauncher/Albert Calculate Anything Ulauncher/Albert Calculate Anything is an extension for Ulauncher and Albert to calculate things like currency, ti

An Embedded Linux Project Build and Compile Tool -- An Bitbake UI Extension
An Embedded Linux Project Build and Compile Tool -- An Bitbake UI Extension

Dianshao - An Embedded Linux Project Build and Compile Tool

Nuclei - Burp Extension allows to run nuclei scanner directly from burp and transforms json results into the issues
Nuclei - Burp Extension allows to run nuclei scanner directly from burp and transforms json results into the issues

Nuclei - Burp Extension Simple extension that allows to run nuclei scanner directly from burp and transforms json results into the issues. Installatio

An addin for Autodesk Fusion 360 that lets you view your design in a Looking Glass Portrait 3D display

An addin for Autodesk Fusion 360 that lets you view your design in a Looking Glass Portrait 3D display

A Lego Mindstorm robot for dealing out cards based on a birds-eye view of a poker table and given ArUco fiducial tags.

A Lego Mindstorm robot for dealing out cards based on a birds-eye view of a poker table and given ArUco fiducial tags.

Direct Multi-view Multi-person 3D Human Pose Estimation
Direct Multi-view Multi-person 3D Human Pose Estimation

Implementation of NeurIPS-2021 paper: Direct Multi-view Multi-person 3D Human Pose Estimation [paper] [video-YouTube, video-Bilibili] [slides] This is

Comments
  • Ad extension to Slicer extension manager

    Ad extension to Slicer extension manager

    I've come across this extension now. Nice work!

    You can make this extension available for Slicer users by submitting it to the extensions index.

    This would increase its visibility for Slicer users and make installation much easier.

    opened by lassoan 3
  • GEAR-2613/Correct_Self_Test_For_CDash_hosted_CI

    GEAR-2613/Correct_Self_Test_For_CDash_hosted_CI

    This PR corrects for the failing tests that are reported at the CDash-hosted CI for 3D Slicer: https://slicer.cdash.org/index.php?project=SlicerStable&filtercount=1&showfilters=1&field1=buildname&compare1=63&value1=flywheel_connect

    opened by joshicola 0
  • Gear_2402/add collections as entry point

    Gear_2402/add collections as entry point

    Modifications present the user with radio buttons to choose between:

    • Browsing Groups and Projects
    • Browsing Collections

    Further modifications were performed to ensure:

    • Collections do not list Analyses folders
    • Flywheel-Connect cannot save to Analyses under Collections
    • Files from Collections are cached and referenced as needed.
    opened by joshicola 0
Releases(1.1.0)
This is a Saleae Logic custom high level analyzer that allows you to search and mark specific packets.

SaleaePacketParser This is a Saleae Logic custom high level analyzer that allows you to search and mark specific packets. Field "Search For" is used f

1 Dec 16, 2021
Simple module with some functions such as generate password (get_random_string)

Simple module with some functions such as generate password (get_random_string), fix unicode strings, size converter, dynamic console, read/write speed checker, etc.

Dmitry 2 Dec 03, 2022
Python library and cli util for https://www.zerochan.net/

Zerochan Library for Zerochan.net with pics parsing and downloader included! Features CLI utility for pics downloading from zerochan.net Library for c

kiriharu 10 Oct 11, 2022
Double Pendulum implementation in Python, now with added pendulums and trails :D

Double Pendulum Using Curses in Python. A nice relaxing double pendulum simulation using ASCII, able to simulate multiple pendulums at once, and provi

Nekurone 62 Dec 14, 2022
A complete python calculator with 2 modes Float and Int numbers.

Python Calculator This program is made for learning purpose. Getting started This Program runs using python, install it via terminal or from thier ofi

Felix Sanchez 1 Jan 18, 2022
Vector tile server for the Wildfire Predictive Services Unit

wps-tileserver Vector tile server for the Wildfire Predictive Services Unit Overview The intention of this project is to: provide tools to easily spin

Province of British Columbia 6 Dec 20, 2022
Keyboard Layout Change - Extension for Ulauncher

Keyboard Layout Change - Extension for Ulauncher

Marco Borchi 4 Aug 26, 2022
An extensive password manager built using Python, multiple implementations. Something to meet everyone's taste.

An awesome open-sourced password manager! Explore the docs » View Demo · Report Bug · Request Feature 🐍 Python Password Manager 🔐 An extensive passw

Sam R 7 Sep 28, 2021
EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

EasyBuild community 87 Dec 27, 2022
ThnoolBox - A thneed is a multi-use versatile object

ThnoolBox Have you ever wanted a collection of bodged desktop apps that are Lorax themed ? No ? Sucks to suck I guess Apps & their downsides CalculaTh

pocoyo 1 Jan 21, 2022
Inacap - Programa para pasar las notas de inacap a una hoja de cálculo rápidamente.

Inacap Programa en python para obtener varios datos académicos desde inacap y subirlos directamente a una hoja de cálculo. Cómo funciona Primero que n

Gabriel Barrientos 0 Jul 28, 2022
The update manager for the ERA App (era.sh)

ERA Update Manager This is the official update manager used in the ERA app (see era.sh) How it works Once a new version of ERA is available, the app l

Kian Shahriyari 1 Dec 29, 2021
Simplest way to find Appointments in Bürgeramt Berlin, Not over engineered.

Simplest way to find Appointments in Bürgeramt Berlin, Not over engineered. Der einfachste Weg, Termine im Bürgeramt Berlin zu finden, ohne viel Schnickschnack.

Jannis 8 Nov 25, 2022
:snake: Complete C99 parser in pure Python

pycparser v2.20 Contents 1 Introduction 1.1 What is pycparser? 1.2 What is it good for? 1.3 Which version of C does pycparser support? 1.4 What gramma

Eli Bendersky 2.8k Dec 29, 2022
A "multiclipboards" script for an efficient way to improve the original clipboards which are only able to save one string at a time

A "multiclipboards" script for an efficient way to improve the original clipboards which are only able to save one string at a time. Works on both Windows and Linux.

1 Jan 24, 2022
Multifunctional Analysis of Regions through Input-Output

MARIO Multifunctional Analysis of Regions through Input-Output. (Documents) What is it MARIO is a python package for handling input-output tables and

14 Dec 25, 2022
Labspy06 With Python

Labspy06 Profil Nama : Nafal mumtaz fuadi Nim : 312110457 Kelas : T1.21.A.2 Latihan 1 Ubahlah kode dibawah ini menjadi fungsi menggunakan lambda impor

Mas Nafal 1 Dec 12, 2021
Manually Install Python 2.7 pip without any problem !

Python2.7_install_pip Manually Install Python 2.7 pip without any problem ! Download installPip.py to your system and Run the code using this Command

Ali Jafari 1 Dec 09, 2021
Análise do Aplicativo Prévias PSDB 2021

Análise do Aplicativo Prévias PSDB 2021 Com a recente polêmica sobre o aplicativo usado nas Prévias do PSDB de 2021, fiquei curioso para saber como er

Paulo Matias 18 Jul 31, 2022
This is the improvised version of Dobot Magician which can be implemented for Dobot M1

pydobotM1 This is the edited driver for Dobot M1 version of the original pydobot library intended for use with the Dobot Magician. Here's what you nee

Shaik Abdullah 2 Jul 11, 2022