Пример #1
0
def visual_index(request, **kwargs):

    all_neurons, search_form = get_form_and_neurons(request,
                                                    kwargs['project_id'],
                                                    kwargs)

    # From: http://docs.djangoproject.com/en/1.0/topics/pagination/
    paginator = Paginator(all_neurons, 20)
    if 'page' in kwargs:
        page = kwargs['page'] or 1
    else:
        try:
            page = int(request.GET.get('page', '1'))
        except ValueError:
            page = 1

    # If page request (9999) is out of range, deliver last page of results.
    try:
        neurons = paginator.page(page)
    except (EmptyPage, InvalidPage):
        neurons = paginator.page(paginator.num_pages)

    return my_render_to_response(
        request, 'vncbrowser/visual_index.html', {
            'sorted_neurons': neurons.object_list,
            'sorted_neurons_page': neurons,
            'project_id': kwargs['project_id'],
            'catmaid_url': settings.CATMAID_URL,
            'user': kwargs['logged_in_user'],
            'search_form': search_form
        })
Пример #2
0
def visual_index(request, **kwargs):

    all_neurons, search_form = get_form_and_neurons( request,
                                                     kwargs['project_id'],
                                                     kwargs )

    # From: http://docs.djangoproject.com/en/1.0/topics/pagination/
    paginator = Paginator(all_neurons, 5)
    if 'page' in kwargs:
        page = kwargs['page'] or 1
    else:
        try:
            page = int(request.GET.get('page', '1'))
        except ValueError:
            page = 1

    # If page request (9999) is out of range, deliver last page of results.
    try:
        neurons = paginator.page(page)
    except (EmptyPage, InvalidPage):
        neurons = paginator.page(paginator.num_pages)

    return my_render_to_response(request,
                                 'vncbrowser/visual_index.html',
                                 {'sorted_neurons': neurons.object_list,
                                  'sorted_neurons_page' : neurons,
                                  'project_id': kwargs['project_id'],
                                  'catmaid_url': settings.CATMAID_URL,
                                  'user': kwargs['logged_in_user'],
                                  'search_form': search_form })
Пример #3
0
def login(request):
    return my_render_to_response(request,
                                 'vncbrowser/login.html',
                                {'return_url': request.GET.get('return_url', '/'),
                                 'project_id': 0,
                                 'catmaid_url': settings.CATMAID_URL,
                                 'catmaid_login': settings.CATMAID_URL+'model/login.php'})
Пример #4
0
def visual_index(request, **kwargs):

    all_neurons, search_form = get_form_and_neurons(request, kwargs["project_id"], kwargs)

    # From: http://docs.djangoproject.com/en/1.0/topics/pagination/
    paginator = Paginator(all_neurons, 20)
    if "page" in kwargs:
        page = kwargs["page"] or 1
    else:
        try:
            page = int(request.GET.get("page", "1"))
        except ValueError:
            page = 1

    # If page request (9999) is out of range, deliver last page of results.
    try:
        neurons = paginator.page(page)
    except (EmptyPage, InvalidPage):
        neurons = paginator.page(paginator.num_pages)

    return my_render_to_response(
        request,
        "vncbrowser/visual_index.html",
        {
            "sorted_neurons": neurons.object_list,
            "sorted_neurons_page": neurons,
            "project_id": kwargs["project_id"],
            "catmaid_url": settings.CATMAID_URL,
            "user": kwargs["logged_in_user"],
            "search_form": search_form,
        },
    )
Пример #5
0
def login(request):
    return my_render_to_response(
        request, 'vncbrowser/login.html', {
            'return_url': request.GET.get('return_url', '/'),
            'project_id': 0,
            'catmaid_url': settings.CATMAID_URL,
            'catmaid_login': settings.CATMAID_URL + 'model/login.php'
        })
Пример #6
0
def multiple_presynaptic_terminals(request, project_id=None, logged_in_user=None):
    p = get_object_or_404(Project, pk=project_id)

    tcs = TreenodeConnector.objects.filter(project__id=project_id, relation__relation_name='presynaptic_to').values('connector').annotate(number=models.Count('connector')).filter(number__gt=1)
    return my_render_to_response(request,
                                 'vncbrowser/multiple_presynaptic_terminals.html',
                                 {'project_id': p.id,
                                  'catmaid_url': settings.CATMAID_URL,
                                  'user': logged_in_user,
                                  'stacks': p.stacks.all(),
                                  'connector_counts': tcs})
Пример #7
0
def index(request, **kwargs):
    all_neurons, search_form = get_form_and_neurons(request,
                                                    kwargs['project_id'],
                                                    kwargs)
    return my_render_to_response(request,
                                 'vncbrowser/index.html',
                                 {'all_neurons_list': all_neurons,
                                  'project_id': kwargs['project_id'],
                                  'catmaid_url': settings.CATMAID_URL,
                                  'user': kwargs['logged_in_user'],
                                  'search_form': search_form})
Пример #8
0
def index(request, **kwargs):
    all_neurons, search_form = get_form_and_neurons(request,
                                                    kwargs['project_id'],
                                                    kwargs)
    return my_render_to_response(
        request, 'vncbrowser/index.html', {
            'all_neurons_list': all_neurons,
            'project_id': kwargs['project_id'],
            'catmaid_url': settings.CATMAID_URL,
            'user': kwargs['logged_in_user'],
            'search_form': search_form
        })
Пример #9
0
def line(request, project_id=None, line_id=None, logged_in_user=None):
    p = get_object_or_404(Project, pk=project_id)
    l = get_object_or_404(ClassInstance, pk=line_id, project=p, class_column__class_name='driver_line')
    sorted_neurons = ClassInstance.objects.filter(
        cici_via_b__relation__relation_name='expresses_in',
        cici_via_b__class_instance_a=l).order_by('name')
    return my_render_to_response(request,
                                 'vncbrowser/line.html',
                                 {'line': l,
                                  'project_id': p.id,
                                  'catmaid_url': settings.CATMAID_URL,
                                  'user': logged_in_user,
                                  'neurons': sorted_neurons})
Пример #10
0
def index(request, **kwargs):
    all_neurons, search_form = get_form_and_neurons(request, kwargs["project_id"], kwargs)
    return my_render_to_response(
        request,
        "vncbrowser/index.html",
        {
            "all_neurons_list": all_neurons,
            "project_id": kwargs["project_id"],
            "catmaid_url": settings.CATMAID_URL,
            "user": kwargs["logged_in_user"],
            "search_form": search_form,
        },
    )
Пример #11
0
def view(request,
         project_id=None,
         neuron_id=None,
         neuron_name=None,
         logged_in_user=None):
    p = get_object_or_404(Project, pk=project_id)
    # FIXME: add the class name as well
    if neuron_id:
        n = get_object_or_404(ClassInstance, pk=neuron_id, project=project_id)
    else:
        n = get_object_or_404(ClassInstance,
                              name=neuron_name,
                              project=project_id)

    lines = ClassInstance.objects.filter(
        project=p,
        cici_via_a__class_instance_b=n,
        cici_via_a__relation__relation_name='expresses_in').all()

    outgoing = n.all_neurons_downstream(project_id)
    incoming = n.all_neurons_upstream(project_id)

    outgoing = [
        x for x in outgoing if not re.match('orphaned (pre|post)$', x['name'])
    ]
    incoming = [
        x for x in incoming if not re.match('orphaned (pre|post)$', x['name'])
    ]

    skeletons = ClassInstance.objects.filter(
        project=p,
        cici_via_a__relation__relation_name='model_of',
        class_column__class_name='skeleton',
        cici_via_a__class_instance_b=n)

    return my_render_to_response(
        request, 'vncbrowser/view.html', {
            'neuron': n,
            'lines': lines,
            'skeletons': skeletons,
            'project_id': project_id,
            'catmaid_url': settings.CATMAID_URL,
            'user': logged_in_user,
            'cell_body_choices': CELL_BODY_CHOICES,
            'incoming': incoming,
            'outgoing': outgoing
        })
Пример #12
0
def line(request, project_id=None, line_id=None, logged_in_user=None):
    p = get_object_or_404(Project, pk=project_id)
    l = get_object_or_404(ClassInstance, pk=line_id, project=p, class_column__class_name="driver_line")
    sorted_neurons = ClassInstance.objects.filter(
        cici_via_b__relation__relation_name="expresses_in", cici_via_b__class_instance_a=l
    ).order_by("name")
    return my_render_to_response(
        request,
        "vncbrowser/line.html",
        {
            "line": l,
            "project_id": p.id,
            "catmaid_url": settings.CATMAID_URL,
            "user": logged_in_user,
            "neurons": sorted_neurons,
        },
    )
Пример #13
0
def line(request, project_id=None, line_id=None, logged_in_user=None):
    p = get_object_or_404(Project, pk=project_id)
    l = get_object_or_404(ClassInstance,
                          pk=line_id,
                          project=p,
                          class_column__class_name='driver_line')
    sorted_neurons = ClassInstance.objects.filter(
        cici_via_b__relation__relation_name='expresses_in',
        cici_via_b__class_instance_a=l).order_by('name')
    return my_render_to_response(
        request, 'vncbrowser/line.html', {
            'line': l,
            'project_id': p.id,
            'catmaid_url': settings.CATMAID_URL,
            'user': logged_in_user,
            'neurons': sorted_neurons
        })
Пример #14
0
def view(request, project_id=None, neuron_id=None, neuron_name=None, logged_in_user=None):
    p = get_object_or_404(Project, pk=project_id)
    # FIXME: add the class name as well
    if neuron_id:
        n = get_object_or_404(ClassInstance, pk=neuron_id, project=project_id)
    else:
        n = get_object_or_404(ClassInstance, name=neuron_name, project=project_id)

    lines = ClassInstance.objects.filter(
        project=p, cici_via_a__class_instance_b=n, cici_via_a__relation__relation_name="expresses_in"
    ).all()

    outgoing = n.all_neurons_downstream(project_id)
    incoming = n.all_neurons_upstream(project_id)

    outgoing = [x for x in outgoing if not re.match("orphaned (pre|post)$", x["name"])]
    incoming = [x for x in incoming if not re.match("orphaned (pre|post)$", x["name"])]

    skeletons = ClassInstance.objects.filter(
        project=p,
        cici_via_a__relation__relation_name="model_of",
        class_column__class_name="skeleton",
        cici_via_a__class_instance_b=n,
    )

    return my_render_to_response(
        request,
        "vncbrowser/view.html",
        {
            "neuron": n,
            "lines": lines,
            "skeletons": skeletons,
            "project_id": project_id,
            "catmaid_url": settings.CATMAID_URL,
            "user": logged_in_user,
            "cell_body_choices": CELL_BODY_CHOICES,
            "incoming": incoming,
            "outgoing": outgoing,
        },
    )
Пример #15
0
def view(request, project_id=None, neuron_id=None, neuron_name=None, logged_in_user=None):
    p = get_object_or_404(Project, pk=project_id)
    # FIXME: add the class name as well
    if neuron_id:
        n = get_object_or_404(ClassInstance, pk=neuron_id, project=project_id)
    else:
        n = get_object_or_404(ClassInstance, name=neuron_name, project=project_id)

    lines = ClassInstance.objects.filter(
        project=p,
        cici_via_a__class_instance_b=n,
        cici_via_a__relation__relation_name='expresses_in').all()

    skeletons = ClassInstance.objects.filter(
        project=p,
        cici_via_a__relation__relation_name='model_of',
        class_column__class_name='skeleton',
        cici_via_a__class_instance_b=n)

    outgoing = n.all_neurons_downstream(project_id, skeletons)
    incoming = n.all_neurons_upstream(project_id, skeletons)

    outgoing = [x for x in outgoing if not x['name'].startswith('orphaned ')]
    incoming = [x for x in incoming if not x['name'].startswith('orphaned ')]

    return my_render_to_response(request,
                                 'vncbrowser/view.html',
                                 {'neuron': n,
                                  'neuron_class': findBrackets( n.name ),
                                  'lines': lines,
                                  'skeletons': skeletons,
                                  'project_id': project_id,
                                  'catmaid_url': settings.CATMAID_URL,
                                  'user': logged_in_user,
                                  'cell_body_choices': CELL_BODY_CHOICES,
                                  'incoming': incoming,
                                  'outgoing': outgoing,
                                  'wiki_base_url': p.wiki_base_url } )