ExtensionsIndex
ExtensionsIndex copied to clipboard
Meta issue referencing extension updates
These pull requests were created in the context of https://github.com/Slicer/ExtensionsIndex/pull/2011
List of pull requests intended to fix and consolidate extension metadata:
- https://github.com/naterex23/SlicerAblationPlanner/pull/3
- https://github.com/jamesobutler/ModelClip/pull/2
- https://github.com/lassoan/AnomalousFiltersExtension/pull/2
- https://github.com/SlicerIGT/PercutaneousApproachAnalysis/pull/1
- https://github.com/QIICR/PkModeling/pull/11
- https://github.com/SlicerIGT/PortPlacement/pull/3
- https://github.com/netstim/SlicerANTs/pull/9
- https://github.com/jcfr/SlicerToKiwiExporter/pull/9
- https://github.com/SlicerDMRI/SlicerWMA-OLD/pull/12
- https://github.com/NrgXnat/XNATSlicer/pull/3 | Email :envelope: sent on June 13th
- https://github.com/Slicer/SlicerAirwaySegmentation/pull/1
- https://github.com/DCBIA-OrthoLab/AnglePlanes-Extension/pull/21
- https://github.com/pzaffino/SlicerArduinoController/pull/3
- https://github.com/Atracsys/SlicerAstmPhantomTest/pull/4
- https://github.com/ToothAndClaw/SlicerAuto3dgm/pull/7
- https://github.com/Auditory-Biophysics-Lab/Slicer-BoneThicknessMapping/pull/7 | Email :envelope: sent on June 13th
- https://github.com/jamesobutler/SlicerBrainVolumeRefinement/pull/1
- https://github.com/lassoan/SlicerBreastImplantAnalyzer/pull/1
- https://github.com/ikolesov/CarreraSlice/pull/13 | Email :envelope: sent on June 13th, June 19th
- https://github.com/fedorov/ChangeTrackerPy/pull/20
- https://github.com/acil-bwh/SlicerCIP/pull/43
- https://github.com/lassoan/SlicerCleverSegmentation/pull/1
- https://github.com/DCBIA-OrthoLab/CMFreg/pull/39
- https://github.com/tokjun/CurveMaker/pull/17 | Email :envelope: sent on June 13th
- https://github.com/DCBIA-OrthoLab/DatabaseInteractorExtension/pull/12
- https://github.com/SlicerRt/SlicerDebuggingTools/pull/17
- https://github.com/gaudot/SlicerDentalSegmentator/pull/2
- https://github.com/Slicer/SlicerDeveloperToolsForExtensions/pull/30
- https://github.com/pnlbwh/SlicerDiffusionQC/pull/49
- https://github.com/lassoan/SlicerDRRGenerator/pull/2
- https://github.com/QIICR/DSC_Analysis/pull/5
- https://github.com/DCBIA-OrthoLab/EasyClip-Extension/pull/14
- https://github.com/tokjun/ErodeDilateLabel/pull/3 | Email :envelope: sent on June 13th
- https://github.com/SlicerRt/FilmDosimetryAnalysis/pull/3
- https://github.com/SlicerRt/GelDosimetryAnalysis/pull/11
- https://github.com/FredericBr/SlicerGeodesic/pull/4
- https://github.com/lpfang/GyroGuide/pull/2 | Email :envelope: sent on June 13th
- https://github.com/ImagingDataCommons/SlicerIDCBrowser/pull/35
- https://github.com/gpernelle/iGyne/pull/4 | Email :envelope: sent on June 13th
- https://github.com/finetjul/ImageMaker/pull/2
- https://github.com/PerkLab/SlicerMatlabBridge/pull/8
- https://github.com/SlicerMorph/SlicerMEMOS/pull/19
- https://github.com/DCBIA-OrthoLab/MeshStatisticsExtension/pull/18
- https://github.com/NIRALUser/MeshToLabelMap/pull/12
- https://github.com/MHubAI/SlicerMRunner/pull/4
- https://github.com/NIRALUser/3DMetricTools/pull/14
- https://github.com/Project-MONAI/MONAILabel/pull/1675
- https://github.com/Project-MONAI/SlicerMONAIViz/pull/38
- https://github.com/SlicerProstate/mpReview/pull/180
- https://github.com/kyliekeijzer/Slicer-PET-MUST-segmenter/pull/4
- https://github.com/needlefinder/NeedleFinder/pull/2 | Email :envelope: sent on June 13th
- https://github.com/NVIDIA/ai-assisted-annotation-client/pull/109
- https://github.com/OrthodonticAnalysis/SlicerOrthodonticAnalysis/pull/4 | Email :envelope: sent on June 13th
- https://github.com/aangelos28/PBNRR/pull/6
- https://github.com/PerkTutor/PerkTutor/pull/76
- https://github.com/QIICR/Slicer-PETDICOMExtension/pull/23 | Email :envelope: sent on June 12th
- https://github.com/QIICR/PET-IndiC/pull/7
- https://github.com/gti-fing/SlicerPetSpectAnalysis/pull/5 | Email :envelope: sent on June 12th
- https://github.com/QIICR/PETTumorSegmentation/pull/22
- https://github.com/DCBIA-OrthoLab/PickAndPaintExtension/pull/25
- https://github.com/KitwareMedical/SlicerPipelines/pull/25
- https://github.com/fepegar/SlicerPyTorch/pull/16
- https://github.com/DCBIA-OrthoLab/Q3DCExtension/pull/106
- https://github.com/QIICR/QuantitativeReporting/pull/275
- https://github.com/gsi-biomotion/SlicerRegistrationQA/pull/17
- https://github.com/R-Vessel-X/SlicerRVXVesselnessFilters/pull/7 | Email :envelope: sent on June 12th
- https://github.com/Sunderlandkyl/ScatteredTransform/pull/1 | Email :envelope: sent on June 12th
- https://github.com/gaoyi/SegmentationAidedRegistration/pull/8 | Email :envelope: sent on June 12th
- https://github.com/mazurowski-lab/SlicerSegmentWithSAM/pull/16 | Email :envelope: sent on June 12th, June 19th
- https://github.com/NIRALUser/ShapePopulationViewer/pull/64
- https://github.com/DCBIA-OrthoLab/ShapeVariationAnalyzer/pull/70
- https://github.com/KitwareMedical/SlicerSkeletalRepresentation/pull/63
- https://github.com/PerkLab/SlicerSkinMouldGenerator/pull/3
- https://github.com/hina-shah/SlicerBatchAnonymize/pull/21 | Email :envelope: sent on July 3rd
- https://github.com/JoostJM/SlicerCaseIterator/pull/21 | Email :envelope: sent on June 12th, June 19th
- https://github.com/KitwareMedical/SlicerCBCTToothSegmentation/pull/4
- https://github.com/MedicalImageAnalysisTutorials/SlicerCervicalSpine/pull/8
- https://github.com/MedicalImageAnalysisTutorials/SlicerCochlea/pull/43 | Email :envelope: sent on June 12th
- https://github.com/DCBIA-OrthoLab/SlicerConda/pull/5
- https://github.com/SlicerDMRI/SlicerDcm2nii/pull/10
- https://github.com/DCBIA-OrthoLab/SlicerDentalModelSeg/pull/30
- https://github.com/QIICR/SlicerDevelopmentToolbox/pull/45
- https://github.com/SlicerDMRI/SlicerDMRI/pull/235 | Email :envelope: sent on June 12th
- https://github.com/SlicerFab/SlicerFab/pull/15 | Email :envelope: sent on June 12th
- https://github.com/PerkLab/SlicerFreeSurfer/pull/20
- https://github.com/SlicerIGT/SlicerIGT/pull/219
- https://github.com/QIICR/SlicerLayoutButtons/pull/3
- https://github.com/ALive-research/Slicer-Liver/pull/265
- https://github.com/KitwareMedical/SlicerLookingGlass/pull/27
- https://github.com/netstim/SlicerNetstim/pull/18
- https://github.com/HOA-2/SlicerNeuroSegmentation/pull/25
- https://github.com/PerkLab/SlicerOpenAnatomy/pull/20
- https://github.com/Slicer/SlicerOpenCV/pull/79
- https://github.com/jamesobutler/SlicerRegularizedFastMarching/pull/1
- https://github.com/SlicerRt/SlicerRT/pull/243
- https://github.com/sjh26/SlicerThemes/pull/3
- https://github.com/MarinaSandonis/SlicerTissueSegmentation/pull/2 | Email :envelope: sent on June 12th
- https://github.com/KitwareMedical/SlicerVirtualMouseCursor/pull/3
- https://github.com/KitwareMedical/SlicerVirtualReality/pull/174
- https://github.com/vmtk/SlicerExtension-VMTK/pull/114
- https://github.com/NIRALUser/SPHARM-PDM/pull/86
- https://github.com/JBeninca/SlicerStereotaxia/pull/10
- https://github.com/mturja-vf-ic-bd/SlicerSurfaceLearner/pull/9 | Email :envelope: sent on June 12th, June 19th
- https://github.com/SlicerHeart/SlicerSurfaceMarkup/pull/14
- https://github.com/gattia/Slicer-T2mapping/pull/5
- https://github.com/QIICR/TCIABrowser/pull/69
- https://github.com/SlicerMicro/Slicer-TITAN/pull/4 | Email :envelope: sent on June 12th, June 18th
- https://github.com/faustomilletari/TOMAAT-Slicer/pull/16 | Email :envelope: sent on June 12th, June 18th
- https://github.com/fsemerar/SlicerTomoSAM/pull/18 | Email :envelope: sent on June 12th, June 18th
- https://github.com/fepegar/SlicerTorchIO/pull/15
- https://github.com/pnlbwh/ukftractography/pull/159
- https://github.com/PerkLab/SlicerVolumeClip/pull/3
- https://github.com/SlicerIGT/ResectionPlanner/pull/5
- https://github.com/SlicerRt/SegmentRegistration/pull/9
- https://github.com/moselhy/SlicerSequenceRegistration/pull/6
- https://github.com/sebastianandress/Slicer-SurfaceFragmentsRegistration/pull/5
- https://github.com/sebastianandress/Slicer-SurfaceWrapSolidify/pull/9
- https://github.com/QIICR/T1Mapping/pull/2 | Email :envelope: sent on June 12th
- https://github.com/Slicer/SkullStripper/pull/12
- https://github.com/SlicerIGT/aigt/pull/58
- https://github.com/lassoan/SlicerAutoscroll/pull/1
- https://github.com/openigtlink/SlicerOpenIGTLink/pull/131
- https://github.com/ETS-vis-interactive/SlicerPRISMRendering/pull/35
- https://github.com/SlicerProstate/SlicerProstate/pull/56
- https://github.com/KitwareMedical/SlicerPythonTestRunner/pull/7
- https://github.com/AIM-Harvard/SlicerRadiomics/pull/81
- https://github.com/harellab/SlicerUHFMRTools/pull/10
- https://github.com/VASST/VASSTAlgorithms/pull/4
- https://github.com/KitwareMedical/ShapeRegressionExtension/pull/34
@jcfr can you please review this comment: https://github.com/QIICR/SlicerDevelopmentToolbox/pull/45#issuecomment-2075484010 ?
Extension build stopped working today, which coincided with your PR...
Thanks for pointing this out, I will have a look later when back on the 👨💻
List of pull requests and issues intended to fix and consolidate extension metadata for extension not yet integrated:
- https://github.com/rbumm/SlicerPACSConnector/pull/5
- https://github.com/mturja-vf-ic-bd/SlicerDeepLearningUI/pull/30
- https://github.com/fatihtalu/Slicer-ThicknessMap/pull/7
- https://github.com/AnnaPSQ/Slicer-SLICSegmentEditorEffect/pull/1
- https://github.com/SenonETS/SlicerIGSpineDeformity/pull/3
- https://github.com/AlistairMcCutcheon/SlicerMSLesionVisualiser/pull/1
- https://github.com/Rediminds/SlicerRediMinds/pull/2
- https://github.com/SlicerDMRI/SlicerTractParcellation/pull/4
- https://github.com/lapdMouse/Slicer-lapdMouseBrowser/pull/1
- https://github.com/laboratory-for-translational-medicine/SlicerTrack/pull/144
- https://github.com/mazurowski-lab/SlicerSegmentHumanBody/pull/4
- https://github.com/CSIM-Toolkits/SlicerDiffusionComplexityMap/pull/1
- https://github.com/LOAMRI/Slicer-DTI-ALPS/pull/1
- https://github.com/UWA-Medical-Physics/SlicerBatchBrainMRTumorSegmentation/pull/1
- https://github.com/saimasafdar2021/Slicer_SurfaceModelNodesSelector/pull/1
- https://github.com/dmolony3/SlicerFractionalMyocardialMass/pull/5
- https://github.com/WashUMusculoskeletalCore/Slicer-MusculoskeletalAnalysis/pull/18
- https://github.com/gongmingjun/SlicerDentureRegistration/pull/10
- https://gitlab.kitware.com/vtk/meshing/SlicerVESPA/-/merge_requests/3
For future reference, following code was used to generate the s4ext from json:
import json
import sys
from pathlib import Path
extensions_index_dir = Path("/home/jcfr/Projects/ExtensionsIndex")
updated_extensions_index_dir = extensions_index_dir
def parse_s4ext(ext_file_path):
"""Parse a Slicer extension description file.
:param ext_file_path: Path to a Slicer extension description file.
"""
ext_metadata = {}
with open(ext_file_path) as ext_file:
for line in ext_file:
if not line.strip() or line.startswith("#"):
continue
fields = [field.strip() for field in line.split(' ', 1)]
assert(len(fields) <= 2)
ext_metadata[fields[0]] = fields[1] if len(fields) == 2 else None
return ext_metadata
# Collect s4ext files
s4ext_filepaths = list(extensions_index_dir.glob("*.s4ext"))
print(f"Found {len(s4ext_filepaths)} extension files (.s4ext)")
# Parse s4ext files and generate corresponding json files
for index, filepath in enumerate(s4ext_filepaths):
metadata = parse_s4ext(filepath)
#print("filepath", filepath)
updated_metadata = {
"$schema": "https://raw.githubusercontent.com/Slicer/Slicer/main/Schemas/slicer-extension-catalog-entry-schema-v1.0.0.json#",
"scm_url": metadata["scmurl"],
"scm_revision": metadata["scmrevision"],
"build_dependencies": [] if metadata.get("depends", "NA") == "NA" else metadata["depends"].split(" "),
"category": metadata["category"],
"build_subdirectory": metadata["build_subdirectory"],
}
with open(updated_extensions_index_dir / f"{filepath.stem}.json", 'w') as fileContents:
fileContents.write(json.dumps(updated_metadata, sort_keys=True, indent=2))
fileContents.write("\n")
print(f"Generated {index + 1} extension files (.json)")
from pprint import pprint as pp
print(f"\nMetadata of extension #{index + 1} ({filepath.stem}):\n")
pp(updated_metadata)