def main(): parser = argparse.ArgumentParser( description="command line or server tool to view or compare nidm results.") parser.add_argument("ttl", help="List of comma separated ttl files to parse.", type=str) parser.add_argument("--base", help="base image (standard brain map) to use for the viewer background.",type=str) parser.add_argument("--port", help="PORT to use to serve nidmviewer (default 8088).",type=int) parser.add_argument("--columns_to_remove", help="Comma separated list of columns to remove from viewer.",type=str,default="statmap_filename,excsetmap_location,statmap_type") try: args = parser.parse_args() except: parser.print_help() sys.exit(0) print "Starting up the nidmviewer!" nidm_files = args.ttl.split(",") if args.columns_to_remove != None: args.columns_to_remove = [x.strip(" ") for x in args.columns_to_remove.split(",")] nidm_files = [os.path.abspath(f) for f in nidm_files] if args.base != None: standard_brain = os.path.abspath(args.base) else: standard_brain = None httpd = generate(ttl_files=nidm_files, base_image=standard_brain, columns_to_remove=args.columns_to_remove, view_in_browser=True, port=args.port)
def view_nidm_results(request, collection_cid, nidm_name): collection = get_collection(collection_cid,request) nidmr = get_object_or_404(NIDMResults, collection=collection,name=nidm_name) if request.method == "POST": if not request.user.has_perm("statmaps.change_nidmresults", nidmr): return HttpResponseForbidden() form = NIDMResultsForm(request.POST, request.FILES, instance=nidmr) if form.is_valid(): instance = form.save(commit=False) instance.save() form.save_nidm() form.save_m2m() return HttpResponseRedirect(collection.get_absolute_url()) else: if owner_or_contrib(request,collection): form = NIDMResultsForm(instance=nidmr) else: form = NIDMViewForm(instance=nidmr) # Generate viewer for nidm result nidm_files = [nidmr.ttl_file.path.encode("utf-8")] standard_brain = "/static/images/MNI152.nii.gz" # We will remove these scripts remove_resources = ["BOOTSTRAPCSS","ROBOTOFONT"] # We will remove these columns columns_to_remove = ["statmap_location","statmap", "statmap_type","coordinate_id"] html_snippet = generate(nidm_files, base_image=standard_brain, remove_scripts=remove_resources, columns_to_remove=columns_to_remove, template_choice="embed") context = {"form": form,"nidm_viewer":html_snippet} return render(request, "statmaps/edit_nidm_results.html", context)
#!/usr/bin/python from nidmviewer.viewer import generate from glob import glob import os # These examples are for generating code for the viewer from within python. You can achieve # the local browser version by running from the command line: # nidmviewer fsl/nidm.ttl # nidmviewer fsl/nidm1.ttl,nidm2.ttl # HTML FOR EMBEDDING ##################################################### # Here are images that we want to see, these should be relative to your web server # Each ttl file must be matched with a provn file, in the case of different versions ttl_files = glob("fsl/*.ttl") html_snippet = generate(ttl_files=ttl_files)