This demo shows how an import from a zip in BIDS derivatives format is made

This demo will work only with tvb web gui installed (launched at least once and setup to contain at least one valid Project)

In [1]:
from tvb.interfaces.command.lab import *
from tvb.adapters.uploaders.bids_importer import BIDSImporter, BIDSImporterModel
2022-05-25 14:47:56,322 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_adapters.DistanceDBIN'>
2022-05-25 14:47:56,324 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_adapters.DistanceDWEI'>
2022-05-25 14:47:56,325 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_adapters.DistanceNETW'>
2022-05-25 14:47:56,326 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_adapters.DistanceRDA'>
2022-05-25 14:47:56,326 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_adapters.DistanceRDM'>
2022-05-25 14:47:56,327 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_adapters.ModularityOCSM'>
2022-05-25 14:47:56,328 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_adapters.ModularityOpCSMU'>
2022-05-25 14:47:56,332 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_centrality_adapters.CentralityEdgeBinary'>
2022-05-25 14:47:56,333 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_centrality_adapters.CentralityEdgeWeighted'>
2022-05-25 14:47:56,333 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_centrality_adapters.CentralityEigenVector'>
2022-05-25 14:47:56,334 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_centrality_adapters.CentralityKCoreness'>
2022-05-25 14:47:56,335 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_centrality_adapters.CentralityKCorenessBD'>
2022-05-25 14:47:56,335 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_centrality_adapters.CentralityNodeBinary'>
2022-05-25 14:47:56,336 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_centrality_adapters.CentralityNodeWeighted'>
2022-05-25 14:47:56,336 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_centrality_adapters.CentralityShortcuts'>
2022-05-25 14:47:56,337 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_centrality_adapters.FlowCoefficients'>
2022-05-25 14:47:56,338 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_centrality_adapters.ParticipationCoefficient'>
2022-05-25 14:47:56,339 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_centrality_adapters.ParticipationCoefficientSign'>
2022-05-25 14:47:56,340 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_centrality_adapters.SubgraphCentrality'>
2022-05-25 14:47:56,342 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_clustering_adapters.ClusteringCoefficient'>
2022-05-25 14:47:56,343 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_clustering_adapters.ClusteringCoefficientBU'>
2022-05-25 14:47:56,344 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_clustering_adapters.ClusteringCoefficientWD'>
2022-05-25 14:47:56,345 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_clustering_adapters.ClusteringCoefficientWU'>
2022-05-25 14:47:56,346 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_clustering_adapters.TransitivityBinaryDirected'>
2022-05-25 14:47:56,347 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_clustering_adapters.TransitivityBinaryUnDirected'>
2022-05-25 14:47:56,348 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_clustering_adapters.TransitivityWeightedDirected'>
2022-05-25 14:47:56,348 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_clustering_adapters.TransitivityWeightedUnDirected'>
2022-05-25 14:47:56,352 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_degree_adapters.Degree'>
2022-05-25 14:47:56,353 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_degree_adapters.DegreeIOD'>
2022-05-25 14:47:56,354 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_degree_adapters.DensityDirected'>
2022-05-25 14:47:56,354 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_degree_adapters.DensityUndirected'>
2022-05-25 14:47:56,356 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_degree_adapters.JointDegree'>
2022-05-25 14:47:56,357 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_degree_adapters.MatchingIndex'>
2022-05-25 14:47:56,358 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_degree_adapters.Strength'>
2022-05-25 14:47:56,359 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_degree_adapters.StrengthISOS'>
2022-05-25 14:47:56,359 - WARNING - tvb.config.init.introspector_registry - Skipped Adapter(probably because MATLAB not found):<class 'tvb.adapters.analyzers.bct_degree_adapters.StrengthWeights'>
2022-05-25 14:47:57,911 - INFO - alembic.runtime.migration - Context impl SQLiteImpl.
2022-05-25 14:47:57,912 - INFO - alembic.runtime.migration - Will assume non-transactional DDL.
2022-05-25 14:47:57,935 - INFO - tvb.config.init.model_manager - Database already has some data, will not be re-created!
In [14]:
# list projects to chose by id the one in which we upload new data
list_projects()
                    name    id
                    test     1
In [13]:
operation_service = OperationService()
project = dao.get_project_by_id(1)

# Configure the adapter instance
adapter_instance = BIDSImporter()
upload_category = dao.get_uploader_categories()[0]
algorithm = dao.get_algorithm_by_module(BIDSImporter.__module__, BIDSImporter.__name__)
adapter_instance.stored_adapter = algorithm

# instantiate view model and set path to BIDS derivative dataset
view_model = BIDSImporterModel()
view_model.uploaded = "bids_derivatives_dataset.zip"

# launch the upload operation
launched_operations = operation_service.fire_operation(adapter_instance,
                                                       project.administrator, project.id,
                                                       view_model=view_model)
2022-05-25 15:55:45,182 - INFO - tvb.core.services.operation_service - Starting operation BIDSImporter
2022-05-25 15:55:45,310 - INFO - tvb.core.services.backend_clients.standalone_client - Start processing operation id:3
2022-05-25 15:56:05,544 - INFO - tvb.core.services.backend_clients.standalone_client - Finished with launch of operation 3
2022-05-25 15:56:05,545 - INFO - tvb.core.services.backend_clients.standalone_client - Return code: 0. Stopped: False
2022-05-25 15:56:05,547 - INFO - tvb.core.services.backend_clients.standalone_client - Thread: <OperationExecutor(Thread-121, initial)>
2022-05-25 15:56:05,553 - INFO - tvb.core.services.operation_service - Finished operation launch:BIDSImporter

You should now see the uploaded data in tvb web GUI in the project who's ID was written above.

In [ ]: