Coming from a CT (computed tomography) background, I would say that it is a good technique to determine porosity inside a specimen. The wide range of pore sizes can be covered (from few mm down to about 200 nm) using a mutiscalar approach, i.e. where you scan the same or different specimens with increasing resolution. However, there is always a problem of the representativity of the specimen (particularly at very high resolution). Also, the influence of the pores will be different whether they are 5 nm or 5 mm large, hence focusing on what is relevant to a given problematic (size-wise) might be more productive than to try to fully characterise the pore size distribution over 6 orders of magnitude.
Volume of the sample can be found by immersing water
Then density of the sample can be caluculate by weight and volume
what is the standard density of that material without defect , compare and find the percentage of porasity. if required go through morphological investigation by SEM or TEM and find at different sections.
If the pores are connected you can use intrusion methods. The problem is that your pore range is large. Then you should use Helium picnometry for small pores and Mercury intrusion for larger pores
If you just need porosity (including closed pores) and no pore diameter distribution you can determine the geometric density by archimedic density. Then you crush and mill the sample and determine strut porosity by he-pycnometry. 1-geometric/strut = porosity
First of all, you have to determine the pore volume, Vp, I would like to recommend mercury porosimetry, which covers a wide pore size range 0.003 to 360 µm. The N2 adsorption method covers from 0.35 nm to 100 nm. Considering you pore size range is so large, thus it is better to conduct both. How you still need to found a proper method to measure the pore size range between 360 micron to 5000 micron. That's a hard one, I don't know exactly how to deal with that. Maybe COMPUTURIZED TOMOGRAPHY is good choice, which measures the mesh scale pore size. But some algebra of the result may be necessary to include all the pore size in your sample.
Secondly, you need to know the sketal density of your sample, Rho, which is pretty strightford and determined by Helium Pycnometry.
After than, you can use the equation porosity=Vp*Rho/(1+Vp*Rho) to obtain the porosity.