public void computeFuncEntriesAndInteriors(TaskMonitor monitor) throws CancelledException {
		FunctionIterator fIter = trainingSource.getFunctionManager().getFunctions(true);
		monitor.initialize(trainingSource.getFunctionManager().getFunctionCount());
		funcEntries = new AddressSet();
		funcInteriors = new AddressSet();
		while (fIter.hasNext()) {
			monitor.checkCancelled();
			Function func = fIter.next();
			monitor.incrementProgress(1);
			if (func.getBody().getNumAddresses() < minFuncSize) {
				continue;
			}
			if (isRestrictedByContext()) {
				if (!isContextCompatible(func.getEntryPoint())) {
					continue;
				}
			}
			funcEntries.add(func.getEntryPoint());
			AddressSet body = func.getBody().subtract(new AddressSet(func.getEntryPoint()));
			AddressIterator addrIter = body.getAddresses(true);
			while (addrIter.hasNext()) {
				Address addr = addrIter.next();
				if (addr.getOffset() % instructionAlignment == 0) {
					funcInteriors.add(addr);
				}
			}
		}
	}
Computes the {@link AddressSet}s of function entries and bodies in the source program.  
Retrieve these sets via {@link FunctionStartRFParams#getFuncEntries()} and 
{@link FunctionStartRFParams#getFuncInteriors()}
<p> Note: the interior of a function only contains addresses which are aligned relative
to the instruction alignment of the processor
@param monitor task monitor
@throws CancelledException if monitor is canceled
Ghidra/Extensions/MachineLearning/src/main/java/ghidra/machinelearning/functionfinding/FunctionStartRFParams.java