/usr/share/gnuift/CGLDAudreyMTam.pl is in gnuift-perl 0.1.14-12.1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | #!/usr/bin/perl -w # -*- mode: perl -*-
# GIFT, a flexible content based image retrieval system.
# Copyright (C) 1998, 1999, 2000, 2001, 2002, CUI University of Geneva
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
################################################################################
#
#
# This is a viPerl demo especially handcrafted for
# Dr. Audrey M. Tam
# by
# Wolfgang Müller
#
#################################################################################
############################################################
#
# main
#
# It would be cleanest to construct all objects from C++
# however, it is fastest for me to do things by using the
# main package.
#
# Take this as some kind of skeleton for your code.
#
require Exporter;
use lib '/usr/bin'; # for including CFeedbackClient
use CGIFTLink qw(processGIFTQueryCall processGIFTRandomQueryCall traverseTree configure);
use CXMLTreeBuilder;
use XML::Parser;# YOU HAVE TO INSTALL XML::PARSER you get it at www.cpan.org
package main;
use CVLStructuredAnnotation;
######################################################################
#
# <you-should-keep-all-this>
#
########################################
#
# THE FOLLOWING FUNCTIONS JUST PASS THINGS
# THROUGH TO THE CGIFTLink OBJECT CONSTRUCTED
# IN construct(). PLEAST DON'T CHANGE
#
sub processGIFTQueryCall( ; ){
$gQueryProcessor->processGIFTQueryCall(@_);
}
sub processGIFTRandomQueryCall( ; ){
$gQueryProcessor->processGIFTRandomQueryCall(@_);
}
sub setAlgorithm( ; ){
$gQueryProcessor->setAlgorithm(@_);
}
sub setCollection( ; ){
$gQueryProcessor->setCollection(@_);
}
sub configure(){
$gQueryProcessor->configure(@_);
}
############################################################
#
# </you-should-keep-all-this>
#
######################################################################
########################################
#
# construct
#
# This function constructs the object which
# will process our queries
#
# CHANGE HERE TO GET YOUR TYPE CONSTRUCTED
#
sub construct(){
$gQueryProcessor=new CVLStructuredAnnotation();
}
############################################################
#
# Testing code to be deleted in final version
#
print "constructing\n";
construct();
print "configuring\n";
$gQueryProcessor->configure();#puts a nice XML tree in memory
my $lVisitor=new CXMLTreeVisitor();
# "ugly-prints" the result of the query.
$gQueryProcessor->traverseTree(
$gQueryProcessor->query( #
# this is an XML tree containing an EMPTY QUERY for 2 images
# ADD CHILDREN TO "query-step" PRODUCING YOUR OWN QUERY
#
#the {} design an anonymous reference to hash,
# our XML element node
{
# the element "element" of the hash has the value "query-step"
element => "query-step",
# the element "attributes" of the hash is again an anonymous hash
# containing the value 2 for the element "result-size"
attributes => {
"result-size" => 2
},
# this XML element contains two nodes
children => [
{
text=>"hello, there",
children=>[]
},
{
element => "demo-element-without-a-meaning",
attributes=>{}, #no attributes
children=>[] #no children
}
]
})
,$lVisitor);
|