Measuing an irregular volume from an .stl mesh I'm quite new to blender so please, any help you can give is much appreciated.

I am trying to measure the volume of an irregular object (e.g. a mold of clay) on either a concave or convex surface (such as the back of a hand). 

The file is .stl and is a non-solid mesh.

I know that Blender comes with 3D printing tools to take these measurements but I am having problems making the object solid (taking into account the curvature of the surface) to take this volume. 

Unfortunately, the surface cannot be scanned alone beforehand to subtract from the surface+clay image. 

The ultimate dream is to write a python script to take a user defined area (e.g. the borders of the clay mold) and somehow measure the volume taking the curved surface into account. But at the moment, any advice on how to go about this with blender would be great.

EDIT: Here are some images of the file and what I am trying to achieve. I am trying to measure the indented suface in the 2nd image, taking into account the curvature shown by the side on profile in image 1. (Thanks).
The quick and dirty way would be this:


First use a remesh modifier with a fairly high number of iterations (at least 7), to keep a the fidelity high. The remesh modifier will automatically close off your mesh and make it watertight.
Use bmesh to calculate the volume:


import bpy, bmesh

o = bpy.context.object

bpy.ops.object.modifier_add( type = 'REMESH' )

remesh = o.modifiers[ len( o.modifiers ) - 1 ]
remesh.mode         = 'SMOOTH'   # Remesh type smooth
remesh.octree_depth = 7          # 7 subdivision levels

d   = o.to_mesh() # Create a temporary mesh with modifiers applied
bm  = bmesh.from_edit_mesh( d )
vol = bm.calc_volume()