Categories

software for counting seeds in images

We have been very happy using ImageJ to count Echinacea seeds. ImageJ is free, open-source, public domain software. It runs on any platform.

We have also used ImageTool. This program is free and runs on Windows only.

Allegra’s pollination data .csv file

Here is my dataset that I am working on analyzing in R as a .csv file.

halverson.data.091.csv

Stuart, here is my R script so far:

halverson.data.analysis1.R

I made new columns in the .csv spreadsheet for the factors and levels we discussed. I will work on a list of hypotheses to test. I think I changed the definition of “y” when I did my 24 hour analysis. Can I give “y” a different name for each analysis? Or does the code need to read a defined “y” each time?

Thanks for the help and check out the graph of 24 hours and the summary m2.

Allegra

demo equipment

A list of equipment we need for demo was posted here: https://echinaceaproject.org/wp-content/uploads/2008/08/demography.html

shrivel data

Here’s a snippet of R code showing how to extract info from the shrivel character data (a file is below…

df <- data.frame(shrivel.txt =c("x", "xoxx", "xxxx", "oooo", "xoooo"))
df      # start off with this data frame
str(df)

df$shrivel.count <- nchar(as.character(df$shrivel.txt)) #add column

vx <- gsub("o", "", df$shrivel.txt)  # replace o with ""
vx
df$shrivel.xs <- nchar(vx)           # make a new column in df

vo <- gsub("x", "", df$shrivel.txt)  # replace x with ""
vo
df$shrivel.os <- nchar(vo)           # make a new column in df

str(df)
df      # final data frame

codeForAllegra.r

lists of random numbers for visors

Here’s a snippet of code I used to generate files to upload to visors.

makeRandFileForVisor <- function(size = 50, fname = "xyz"){
write.table(sample(1:size),
                 file = paste("E:\shared\rand",
                                    size, 
                                    fname,
                                    ".txt", 
                                    sep=""), 
                 quote= FALSE,
                 row.names= FALSE, 
                 col.names= paste("rand",size,fname, sep="")) }
visors <- c("ag","dr","kg","ad","cr","gk",
            "mmj","mj","ah","gd","sw","rs")
for (i in visors) {
makeRandFileForVisor(20,i)
makeRandFileForVisor(50,i)
makeRandFileForVisor(100,i)
makeRandFileForVisor(200,i)
}

where?

Where is our study area? We focus on >6400 ha (25 square miles) of land that used to be tallgrass prairie and is now mostly used for agriculture (especially corn & soybeans). There are lakes and sloughs too.

The study area comprises these 25 sections:

T128 N R40 W:
31, 32, 33, 34, 35
T127 N R40 W:
6, 5, 4, 3, 2,
7, 8, 9, 10, 11,
18, 17, 16, 15, 14,
19, 20, 21, 22, 23

Plus, the area extends into the surrounding sections:
T128 N R40 W: 30, 29, 28, 27, 26, 25, 36,
T127 N R40 W: 1, 12, 13, 24, 25, 26, 27, 28, 29, 30,
T127 N R41 W: 25, 24, 13, 12, 1,
T128 N R41 W: 36, 25

visiting flags

This file lists flags in random orders suitable for pollinator observation tomorrow.

Here’s the R code used:

flagOrder <- function() {
cat(cat(sample(LETTERS[1:8]),"n"),
    cat(sample(LETTERS[1:8]),"n"),
    cat(sample(LETTERS[1:8]),"n"),
    cat(sample(LETTERS[1:8]),"n"),
    cat(sample(LETTERS[1:8]),"n"),
    "n")
}
for (i in 1:20) flagOrder()

Where is Asclepias viridiflora?

Over the years I have made several notes about locations of Asclepias viridiflora individuals. I have not noted the species at Staffanson Prairie Preserve. I’ve copied notes below. I can show you where these plants are (on a map or live)…

2-July-1998 site eth
Asclepias vividiflora 6.5 paces S of 2294

1-Aug-1998 site eth
Asclepias viridiflora w pod!

23-July-1998 site nolf
EA pla #3069 cf Asclepias viridiflora 1.1m WSW of this EA

I have mapped an Asclepias viridiflora individual at NRRX. No notes, just the location.

I have collected several seed pods from A. viridiflora at the landfill. Here are the records…
Landfill 9/5/1997 26 seeds 1 pod 4 planted at TP plot
Landfill 9/5/1998 3 pods

Finally, here’s a note from my visor from earlier today. The yellow flags are at your prairie turnip plants.

Note-to-megan
7/3/09 9:31 am
landfill
Asclepias viridiflora
2 fl plas between
yel flags 1-02 & 1-28
1 fl pla between
yel flags 1-31 & 1-52
1 fl pla SSE of
yel flag 1-47 (far S) in dip

spp coordinates

I generated a list of 40 random UTM coordinates for SPP and posted them here: sppRandCoords.csv.

Here’s the R code I used to generate random coordinates…

df <-  data.frame(order= 1:40,
                  E= round(runif(40,  286100,  286900),2),
                  N= round(runif(40, 5077080, 5077500),2))
write.csv(df, file= "sppRandCoords.csv", row.names= FALSE) 

I gleaned the rough SPP corner coordinates from Google Earth--UTM 15T:

NE 286900 E 5077500 N

SE 286900 E 5077080 N

NW 286100 E 5077500 N

SW 286100 E 5077080 N

Here's a snippet of R code to make a plot of the points and to make a file with latitudes & longitudes..

df <- read.csv(
"https://echinaceaproject.org/wp-content/uploads/sppRandCoords.csv")
plot(df$E, df$N, asp = 1, type = "n")
text(df$E, df$N, labels= df$order)
require(PBSmapping)
names(df) <- c("EID", "X", "Y") 
df <- as.EventData(df)
attr(df, "projection") <- "UTM" 
attr(df, "zone") <- 15
fred <- convUL(df, km=FALSE)
write.csv(fred, file= "sppRandLL.csv", row.names= FALSE)

Here's a link to those 40 random points in a lat long projection sppRandLL.csv.

up close of Echinacea floral structure

Look at this paper to see some nice photos of Echinacea floral parts (Wist and Davis 2008).