Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
#!/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)