Wednesday, March 30, 2011

Tuesday, March 29, 2011

Lichen Guide on Github

The Lichen Guide repo,  https://github.com/hicmic25/LichenGuideMaps.  Trying to get an alertdialog box to pop up using onTap method for user clicks on EEON plot map overlays.  Give the user additional options for viewing lichens at particular EEON plots (as data is made available) and view the data in a more stable manner than through a 'transient' toast message.

It seems like I need to somehow pass lat/long values from the onTap method to a cursor and look for matches in the database.  This requires some restructuring of the data tables however.  I would need to include the lat/long of the plot where the lichen was found in the lichen table so an onTap click would send lat/long values that could then be processed and matched via the sqlite API and the user would see the custom list of returned lichen entries.  Will try and work on it this weekend.

Went out today and did some preliminary surveys of two EEON plots.  We made quite a few collections and started in on the identification process.  Found many Hypogymnia spp., I feel good about a couple of the identifications but tomorrow we're going to learn how to use spot tests to make sure we get as accurate identifications as possible.

Finally saw Hypogymnia physodes up close!  I've read about it in many studies and finally got a chance to see it up close under the dissecting scope.  H. physodes has distinctive marginal soredia that form on 'lip' like structures (really just the thallus folded over itself).  Pretty much made my day.

Friday, March 25, 2011

Guide to the Lichens of The Evergreen State College - Images

After fumbling around for a few hours I realized my knowledge of basic Java programming is too limited.  It seemed like an easy task: when a user clicks on a particular lichen in the list, an image associated with that lichen will be shown in the details view.  My idea was to take the string retrieved from the database for genus and compare it to a string constant set to different genera.  Depending on which 'If' statement evaluated to TRUE, the corresponding image would be displayed.  The logic was as follows:

IF (DATBASE VALUE = SPECIES X);
     DISPLAY IMAGE OF SPECIES X;

IF (DATABASE VALUE = SPECIES Y);
     DISPLAY IMAGE OF SPECIES Y;


I was successfully passing the correct values as a bundle and converting them to strings (shown below), so it seemed like it should be an easy task to compare two strings.


Bundle extras = getIntent().getExtras();
        if (extras != null) {
            String genus = extras.getString(DatabaseHelper.KEY_GENUS);


The problem was figuring out how to compare these values.  Looking at other code, it seemed I should be able to use something like,


if (genus == "Cladonia") {
                mLichenGallery.setAdapter(new ImageAdapterCladonia(this));


 Hours later I came to the realization that you can't really use the '==' operator to properly compare two strings.

Instead you use the String1.Equals(String2) method call.  It seemed so easy, too good to be true, but it worked perfectly.  So now the code looks like,


    if (genus.equalsIgnoreCase(C)){
            mLichenGallery.setAdapter(new ImageAdapterCladonia(this));

Where 'C' is a string constant defined at the top of the class as 'Cladonia'.  I used the 'equalsIgnoreCase' just in case there is an error in data entry later on and the strings don't match case exactly. The images seen below are loaded depending on the user selection.





The images are just for testing and don't necessarily match the species.  Each image is part of a GalleryView that is a horizontally scrolling image view, so multiple images can be displayed and scrolled through by the user.


  

Guide to the Lichens of The Evergreen State College - Maps

Integrating google maps into the Lichen Guide app was not as difficult as I imagined it to be.  The app can now display all of the EEON plots as well as current user location.  The user can potentially navigate to every EEON plot using the app.  Admittedly the accuracy is not the best, but I think it can at least aid in navigating to the plots.     





When an EEON plot is clicked, a toast message pops up displaying the plot name and the forest-type associated with it.  I may try and implement a more powerful menu when a point is clicked, so the user can view more info about each plot and link directly to lichens found in that plot.  For now, the user can click a point and view the forest type, then hit the menu button and navigate to the forest-type list and then view lichens for that plot/area.  

By hitting the menu button in Map mode the user can navigate to other parts of the app and change the map view to satellite mode.  At this point I need to start on the graphic design aspects of the app, populating the glossary of terms, and integrating images into the lichen description menu.

Monday, March 21, 2011

Guide to the Lichens of The Evergreen State College Part 2

Just finalized the code that allows the user to view lichen species based on the forest type the user happens to be in at Evergreen.  Clicking on an entry finds all species that correspond with a value associated with the forest type.  From there they can view information about the lichen.
The next step will be figuring out the best way to integrate images.  

Friday, March 18, 2011

Guide to the Lichens of The Evergreen State College

Last summer I spent a month or so playing around with Android app development and came up with an app to help identify common fungi in the northwest.  I basically mapped out a key (Kit Scates) onto an interface of tabs and buttons that users could select from.  It was really basic and had no database support.  Everything was hard coded, meaning no scalability.  Despite this, it worked, and I actually used it quite a few times.  I never released it onto the android market.

About a month ago I started thinking about how I could integrate an app into my current studies at Evergreen.  Spring quarter is going to be based around surveying lichens around EEON (Evergreen Ecological Observation Network) and I realized it would be a great opportunity to catalog what we find.  I knew this time around I need to integrate a database into the design.    

After about a week of shuffling through code and reading about databases, I have a functioning app ready to be expanded over spring quarter, and hopefully finished this summer.

The app is based around the 'forest-types' found on the Evergreen campus, with about nine different types in all.  The user will be able to select a forest-type and view lichens that are known to occur in that area.

 


The species info was taken from McCune and Geiser, just to have some data to test the functionality of the app.  The data in the finished app will be based on surveys and identification performed by myself and other students at Evergreen.

I'm still working on integrating photos, which will greatly improve the app's usability.  Users can click on a lichen name and view more detailed information about that species.  Once my lichen taxonomy skills are a little more honed I'll integrate a short key into the main menu so that users can at least narrow the specimen they have by thallus-type (fruticose, crustose, foliose, squamulose).  I would also like to integrate a google maps/GPS component, so that users could view their current location and view a list of lichens based on their location.  That is, however, beyond me at this point. Also, I realize the layout/design is very basic, but it is a work in progress.

Sunday, March 13, 2011

Lichens at Priestpoint Park

Spent about an hour walking around the trails at Priestpoint, keeping an eye out for lichens, and came back with about eight different samples, plus an unlichenized ascomycete.


Afterwards I spent some time identifying what I had found.  Tentatively, I seem to have picked up:
Peltigera membranacea or neopolydactyla.  I'm sure it's one or the other, but I haven't looked at enough of these things to tell the difference.  The ID hinges on distinguishing between tomentose veins and rhizines, and the degree to which the veins protrude from the underside.  Maybe with time I'll be able to figure it out.


Cladonia carneola.  This one I'm a little more sure of.  Dentate cups (the margins of the cups appear toothed) and brown apothecia.  The specimen I took (was growing on the back of a park bench) had only one, incredibly tiny apothecia, which I at first took for a parasitic lichenicolous fungi because it resembles a small white stemmed, brown capped mushroom.  However, McCune and Geiser have a wonderful picture in their book.  Perhaps spring quarter I'll be able to properly identify this specimen with spot tests.
Lichenomphalia umbellifera.  This was surprising. As I walked the pathway down Ellis Cove I passed a huge rotting log with what appeared to me to be very pale yellow Xeromphalina -type fungi growing prolifically.  The color made them stand out and I made a collection.  I'm very glad I took some substrate too!  Looking through Mushrooms of the Pacific Northwest, I noticed an entry for Lichenomphalia, and it turns out to be one of the few Basidiomycetous lichens!  Also turns out to be fairly common, but still.  The clincher for me, aside from the coloration, decurrent, wide gills and crenate cap margin, was the deep, slimy green substrate from which the fruitbody grew from.  Sure enough, the small pieces of wood I grabbed along with the 'mushrooms' was coated in a dark green slime.  Maybe under the microscope I'll be able to distinguish some of the thallus characteristics.  



Not a lichen but still an ascomycete, I believe I found Pseudoplectania vogesiaca or one of its look-alikes.  I started noticing this fungus a few days ago when I was walking around campus searching for EEON plots I may be working with in the spring.  It was the only fungus aside from Trametes versicolorFomitopsis pinicola and the random Mycena, that I noticed.  When I saw it today I decided to take a couple and figure it out.  

Still have about four more specimens to go through.  Possible Hypogymnia, Cladonia, Usnea and Ramalina or Bryoria.