A method for estimating a physical property of a porous material from a sample thereof, comprising: making a three dimensional tomographic image of the sample of the material; segmenting the image into pixels such that each pixel represents either pore space or rock grain; estimating at least one physical property from the segmented image; and at least one of storing and displaying the estimated physical property; wherein the tomographic image comprises a value of gray scale allocated to each of a plurality of pixels in the image; wherein the segmenting comprises: (a) determining an initial gray scale threshold for each of pore space and rock grain; (b) allocating each pixel in the image to a pore space seed or a rock grain seed for each pixel meeting threshold criteria for each of the pore space and rock grain thresholds, respectively; (c) interrogating pixels adjacent to each seed; (d) allocating the interrogated adjacent pixels, if previously not allocated to a seed, to the pore space seed or the rock grain seed based on threshold criteria; and (e) repeating (c) and (d) until substantially all pixels in the image are allocated to the rock grain seed or the pore space seed; wherein the step of allocating interrogated adjacent pixels comprises determining a difference between a gray scale value of each seed and a gray scale value of the interrogated adjacent pixel to the seed, and allocating the interrogated adjacent pixel to the seed if the difference falls below a selected difference threshold, characterized in that it comprises: determining whether unallocated pixels exist in the image; increasing the selected difference threshold; and repeating the steps of interrogating adjacent pixels and allocating the interrogated adjacent pixels having gray scale values wherein the difference is below the increased difference threshold. making a three dimensional tomographic image of the sample of the material; segmenting the image into pixels such that each pixel represents either pore space or rock grain; estimating at least one physical property from the segmented image; and at least one of storing and displaying the estimated physical property; wherein the tomographic image comprises a value of gray scale allocated to each of a plurality of pixels in the image; wherein the segmenting comprises: (a) determining an initial gray scale threshold for each of pore space and rock grain; (b) allocating each pixel in the image to a pore space seed or a rock grain seed for each pixel meeting threshold criteria for each of the pore space and rock grain thresholds, respectively; (c) interrogating pixels adjacent to each seed; (d) allocating the interrogated adjacent pixels, if previously not allocated to a seed, to the pore space seed or the rock grain seed based on threshold criteria; and (e) repeating (c) and (d) until substantially all pixels in the image are allocated to the rock grain seed or the pore space seed; (a) determining an initial gray scale threshold for each of pore space and rock grain; (b) allocating each pixel in the image to a pore space seed or a rock grain seed for each pixel meeting threshold criteria for each of the pore space and rock grain thresholds, respectively; (c) interrogating pixels adjacent to each seed; (d) allocating the interrogated adjacent pixels, if previously not allocated to a seed, to the pore space seed or the rock grain seed based on threshold criteria; and (e) repeating (c) and (d) until substantially all pixels in the image are allocated to the rock grain seed or the pore space seed; wherein the step of allocating interrogated adjacent pixels comprises determining a difference between a gray scale value of each seed and a gray scale value of the interrogated adjacent pixel to the seed, and allocating the interrogated adjacent pixel to the seed if the difference falls below a selected difference threshold, characterized in that it comprises: determining whether unallocated pixels exist in the image; increasing the selected difference threshold; and repeating the steps of interrogating adjacent pixels and allocating the interrogated adjacent pixels having gray scale values wherein the difference is below the increased difference threshold. determining whether unallocated pixels exist in the image; increasing the selected difference threshold; and repeating the steps of interrogating adjacent pixels and allocating the interrogated adjacent pixels having gray scale values wherein the difference is below the increased difference threshold.