I won't get back to my office, and the hard drive where the files are stored, for about a week. I'll send something along then.
Thanks, Emma. David On Wed, Jan 20, 2016 at 12:08 AM, Emma Sherratt <emma.sherr...@gmail.com> wrote: > Hi David, > > Not sure what the file actually looks like since you’ve not included a > sample here. However I suggest taking a look at the readland functions in > geomorph R package to see how we tackle the different types. If you want, > send it through to us and we can take a look. If there’s a lot of people > using AVIZO for digitising, we can include a function in geomorph. > > Regarding a read function writing? Nope, never heard of that. > > Em > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Emma Sherratt, PhD. > > Lecturer in Zoology, > Zoology Division, School of Environmental and Rural Science, > Room L112 Bldg C02, > University of New England, > Armidale, NSW, Australia, 2351 > Tel: +61 2 6773 5041 > email: emma.sherr...@une.edu.au > Twitter: @DrEmSherratt > > Caecilians are legless amphibians... > > * __ > (\ .-. .-. /_") > \\_//^\\_//^\\_// > `"` `"` `"`* > > learn more about them here: www.emmasherratt.com/caecilians > > > On 20 January 2016 at 14:50:38, David Katz (dck...@ucdavis.edu) wrote: > > Hi everyone, > > I've collected 3D landmarks on a series of cranial surface models in > Avizo. Avizo's landmark editor outputs .landmarkAscii files, which I would > like to read into R. The way I've done the reading has the following very > unexpected effect: *sometimes,* it* writes *additional data to my > .landmarkAscii files. I'd like to understand why, but am mostly interested > in finding a solution. > > To read in the landmark files for a specimen... > > # Below, avz.file is the filepath for the .landmarkAscii > # file for a single specimen. > # The code reads the .landmarkAscii file with read.csv. > # This is useful because the object created lays out > # the informational data that precedes the coordinate data > # predictably. This makes it easy to lop off the > # informational data. > read.lms <- read.csv(avz.file, header=FALSE)[,1] > > # The last row of informational data will contain the > # text "@1" and nothing else. > lm.start <- which(read.lms=="@1")+1 > > # Now it is possible to create an object with landmark > # data only. R interprets each landmark (all three > # coordinates together) as a factor. I convert the factor > # vector to a character vector. > lm.char <- > as.character(droplevels( > read.lms[(lm.start):length(read.lms)])) > > # Then I create an empty matrix for the landmark data > lm.mat <- matrix(NA, nrow=length(lm.char), ncol=3) > > # Then fill lm.mat with the landmark data. As mentioned, > # lm.char is a vector. Each element of that vector > # contains the X, Y, and Z coordinate for a landmark. > # The coordinates are separated by spaces > # (or maybe tabs) > for(i in 1:nrow(lm.mat)) > {lm.mat[i,] <- > as.numeric(unlist(strsplit(ctlm.char[i], " ")))} > > That's it. The code above will read in the data and make a landmark > matrix. Unfortunately, it sometimes also writes additional lines to the > .landmarkAscii file. The first added element is "@2." Thereafter, the > landmark file adds as many three-coordinate triplets as there are landmarks > in the original data file. The values of these triplets are 0,0,1 (or maybe > 1,0,0). > > This is really strange behavior. A read function shouldn't write. > > My issue may be better suited to an R forum, but I am hoping someone here > has reliable code for reading Avizo landmarks into R. > > Thanks in advance. > > David > > > -- > David Katz > University of California, Davis > -- > MORPHMET may be accessed via its webpage at http://www.morphometrics.org > --- > You received this message because you are subscribed to the Google Groups > "MORPHMET" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to morphmet+unsubscr...@morphometrics.org. > > -- > MORPHMET may be accessed via its webpage at http://www.morphometrics.org > --- > You received this message because you are subscribed to the Google Groups > "MORPHMET" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to morphmet+unsubscr...@morphometrics.org. > -- David Katz Doctoral Candidate Evolutionary Anthropology University of California, Davis Young Hall 204 ResearchGate profile <https://www.researchgate.net/profile/David_Katz29> -- MORPHMET may be accessed via its webpage at http://www.morphometrics.org --- You received this message because you are subscribed to the Google Groups "MORPHMET" group. To unsubscribe from this group and stop receiving emails from it, send an email to morphmet+unsubscr...@morphometrics.org.