“I pledge my honor that I have not violated the honor code during this examination.”


If a fellow student has contributed significantly to this work, please acknowledge them here:



By uploading this assignment through Canvas, I sign off on the document below electronically.

Part I: Rock Identification#

A rock is a material made up of one or more different minerals. That is why an essential part of rock identification is the ability to correctly recognize the major (or most abundant) minerals within a given rock sample. This is often described as the rock’s mineralogy, or composition. Another important component in rock identification is to correctly interpret the rock texture. Texture is the size, shape, and grain-to-grain relationships between minerals in a rock. All rocks can be placed into one of three major rock groups based on their texture; igneous, sedimentary or metamorphic rocks. Recognition of both composition and texture allows one to assign an appropriate rock name.


Question 1: Each table has been given a set of rocks that are among the most common in the Earth’s crust. Your goal is to identify each rock by assessing its composition and texture. We have provided rock identification flow charts that list common rock types and a set of corresponding compositional and textural properties.

drawing drawing drawing

Once you have identified your rocks, place each of your samples in their proper locations on the flow chart. Take a photo of it, upload it to Adroit, and link it in your Jupyter notebook below.

Note: An extra set of samples and the rock charts will be left outside our precept room if you need more time to look at the samples. Also, if your uploaded image does not get exported to PDF, please append the image to your PDF submission with Adobe Reader or Mac Preview software.


Part II: Rocks as Building Stones: Princeton University Campus & Beyond#


Let us now embark on a tour around campus (stops are specified in red above)! Please carry a quarter (coin) and your camera!

Below is a list of characteristics to consider when choosing a building stone. Note that no one stone will have all of these characteristics; indeed, some are contradictory. For example, a sedimentary rock that breaks along layering will be easier to quarry and shape into slabs, but that layering might also make the rock more susceptible to breaking apart due to freeze-thaw cycles. Or, if the rock you are considering is very beautiful, you might be willing to compromise on other characteristics.

  1. Strength: able to withstand the required load.

  2. Cost effective: abundant, nearby, easy to transport to the building site

  3. Aesthetics: attractive and interesting without polishing or other costly finishing techniques.

  4. Resistant to chemical and physical weathering: marble and limestone, being comprised of calcite, are susceptible to chemical weathering (dissolution) by the mildly acidic nature of rainwater. Quartz-rich rocks would be less so. Rocks most resistant to water infiltration would be fine-grained, crystalline rocks with low porosity and no cracks, no layering or other planes of weakness.

  5. Ease of usage: Rocks comprised of calcite are easily shaped with steel tools, silica-rich rocks would need diamond-embedded saws. If the rock naturally breaks into building block shaped pieces, less shaping needs to be done at the site.

Guyot Hall and many other buildings on campus are trimmed in Indiana limestone. Most campus gargoyles are also carved out of this rock. Here are some photos of current quarrying operations of Indiana Limestone Co. (headquarters in Oolitic, Indiana):

drawing drawing

Figure: (Left) Indiana limestone quarry and (Right) Cutting of the Indiana limestone. Source:

Until various additions were built, Guyot Hall was a symmetric building. Walk around the building as best you can given the construction (it is worth going all the way around), looking up toward the roof line and above the various doorways. Note the items depicted by the gargoyles carved out of Indiana limestone.



Question 2: Make a list of the images depicted on each side of Guyot Hall. How could you describe the differences between the items depicted on the GEO side vs. those depicted on the EEB side?


Question 3: Note that there is a lot of Indiana limestone trim around Guyot, and also some broader walls of Indiana limestone. However, the limestone is never in direct contact with the ground – instead, there is another rock type in contact with the ground.

3.1 Why isn’t Indiana limestone a good material for the base of a building?


3.2 What IS the rock type in contact with the ground? Why is this a better choice for this location?


Question 4: Now, examine the building blocks of Nassau Hall (not the reddish ones in the arch over the window, but the tan ones making up the rest of the building). This is a sedimentary rock that does not react with HCl. Of the choices on your list of common rock types, what is the most appropriate name for this rock? Justify the name that you choose.


Question 5: This rock is a lousy building stone. Describe/document the evidence for this. Why do you think the rock was used anyway?


Question 6: Examine the building blocks of Firestone Library – it is best to do this on a sunny day! Take your time and look at many blocks. This is a metamorphic rock which does not react with HCl. List and describe any minerals you can identify. Responses should include a close-up photo with minerals indicated.


Question 7: Of the choices on your rock flow chart, what is the most appropriate name for this rock? Justify the name that you choose.


Question 8: Examine the marble columns on the porch of Dod Hall opposite the Art Museum construction site. Focus on the left-hand column as you face the porch, and examine both the shaft of the column, as well as the “capital.” And yes, the marble reacts quite vigorously with HCl. Describe the differences between the side of the pillar that faces towards the outside, compared to the side that faces towards the inside of the porch. See image below.



Question 9: What could account for the difference in the two sides? Explain.


Part III: Rocks Characterization using Image Processing#

Image processing is a computational tool that enables the collection and analysis of large amounts of spatial data. We can use image processing to characterize rocks in detail that may not be feasible with the naked eye during fieldwork. Examples of rock characteristics that we can investigate include the size, shape, composition and spatial distribution of the rock constituents.

For the questions below, you will need to visit two sites on campus, and take a photo of each of the specified rocks that will then be used in image processing. Be sure to place a quarter (coin) on the rock to include as scale when taking the photo. Click a photo of the rock approximately 1 ft x 2 ft in area, with a quarter for scale. As an example, see this photo of a nice gneiss with a quarter for scale:


Image Processing A: Clasts in Sedimentary Rocks#

Find the Guyot Glacial Boulder on the north side of Guyot Hall. It is on a wooden sled so the construction workers can move it around as they work install the new geothermal heating pipework.

NOTE: Take a photo here following the guidelines above. You will need a photo with a quarter (coin) to scale for use in image processing below.


In 1890, this glacial erratic boulder was gifted to the Princeton Geosciences department. It was originally part of the bedrock of the western Alps, then was plucked out of the Alps during the last Ice Age by the Rhône Glacier and glacially transported to Neuchâtel, deposited by melting ice, and then (much) later collected by Guyot’s students, and sent across the Atlantic to Princeton. On campus, the inscribed boulder has graced Marquand Chapel, Nassau Hall and most recently the north side of Guyot Hall. Its next trip will be in a few years to the other side of Washington Road, to the newly constructed Geosciences building.


Question 10.1 This is a sedimentary rock – give it an appropriate rock name.


Question 10.2 As a sedimentary rock, it should exhibit layering. Describe how this sedimentary layering is manifest in the boulder – look for changes in grain size that would indicate the bedding. Look for boundaries between different areas of the rock in particular and also for directions along which the rock seems to be breaking. Making an annotated sketch or photo would be an efficient way to do this.


Question 10.3 What is the orientation of the layering relative to the surface of the ground? E.g., is the layering horizontal (parallel to the ground), vertical (perpendicular to the ground) or at some angle?



  • Image processing for characterizing color distribution in rocks

We will use the Python module OpenCv for image processing, which is a library of programming functions mainly aimed at real-time computer vision. The code below performs grain size distribution analysis and the dumps results into a comma-separated (csv) file. You can read this file with the pandas module and plot values using the matplotlib module. Refer to older problem sets for examples on how to use these modules. The specific steps include:

  • Step 1: Read image, crop it and define pixel size (if needed to convert results into mm, not pixels)

  • Step 2: Threshold image to separate grains from boundaries.

  • Step 3: Clean up image, if needed (erode, etc.) and create a mask for grains

  • Step 4: Label grains in the masked image

  • Step 5: Measure the properties of each grain (object)

  • Step 6: Output results into a csv file

  • Step 7: Analyze the results

from pathlib import Path
import cv2
import numpy as np
from matplotlib import pyplot as plt
from scipy import ndimage
from skimage import measure, color, io
import as px
from plotly.subplots import make_subplots
import plotly.graph_objects as go

STEP # 1 - Read image and define pixel size#

image_file = 'Photos/guyot_glacial_boulder.jpg'
img = cv2.imread(image_file)

# OpenCV by default reads images in BGR format. 
# You can use the cvtColor(image, flag) and the COLOR_BGR2RGB flag to fix this
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

# Displaying the image
fig = px.imshow(img)