AtlasCrawler Maintenance
The term AtlasCrawler refers to the Digital Anatomist sub-system that allows you to search for all the frames that contain a given term. There are a few parts to this that need to be maintained.
All of the C code that facilitates this functionality is found on the NeXTs, in ~bradley/DA-database.
The mapping from terms to DA frames is kept in a sybase database on vastus. To log into the database from the command line, use the command:
% isql -SVASTUS -Ubradley -P
then at the isql prompt, you need to issue the command:
> use bradley
> go
By exectuing the sp_help command, you can see that there are a couple tables. The only ones used by the AtlasCrawler are atlases and terms. The atlases table keeps track of all of the atlases that are to be used when building the terms table. It has the folowing structure:
host_url |
varchar(255) |
atlas |
varchar(255) |
The host_url is simply the URL to the host machine of the atlas that the row represents. The atlas field is the name of the atlas. Example row:
http://www9.biostr.washington.edu |
Thorax |
Notice that the host_url DOES NOT end with a '/'.
The terms table is the one that contains the information mapping term names to frames within the atlases searched. It has the following structure:
term |
varchar(255) |
ffpath |
varchar(255) |
atlas |
varchar(255) |
host_url |
varchar(255) |
Each row maps one term to one frame in one atlas. The term field is the name of the term. The ffpath field is the path to the frame file on the atlas server, reletive to the atlas's root diretory. The atlas and host_url are used in the same way as in the atlases table. Example row:
apex of heart |
Index/DMCindex/Anatomical_Sections/a_vm1490 |
Thorax |
http://www9.biostr.washington.edu |
There are two programs on the NeXTs that work together to build the contents of the database. But first, you must do a little buidling by hand.
The atlases table must be built by hand with isql. Once you've entered isql (described above), you can add rows to the atlases table with standard SQL INSERT commands. Example:
> INSERT INTO atlases > VALUES ('http://www9.biostr.washington.edu','Knee') > go
You can also clear the atlases table by executing the 'DELETE atlases' command.
Also, before you run the programs that build the terms table, you will want to clear it out -- which must also be done by hand, with the command 'DELETE terms'.
On scala, there are two program that must be compiled to build the database: queryAtlas and buildit. Before compiling any programs inthe ~bradley/DA-database directory, make sure you have the most up-to-date version of DA.c and DA.h in there, by copying them in from your DA-2.1/src directory, and overwriting the old ones here. Then, to compile these two programs, issue the commands:
% make queryAtlas
% make buildit
Now, you can build the database by running buildit like so:
% buildit
This may take a long time. So be patient.
The source code for db is also in ~bradley/DA-database. It also need to have the most recent version of DA.c and DA.h from your DA-2.1/src directory. To compile this program, type:
% make db
% make installdb
The second command copies the exectuable into the appropriate directory. This is the program that gets called ffrom the search pages, and queries the syabse database.