Hi Alaa,

I have a question for you.  Do you want ctakes to never find codes from certain 
schemes during processing?  Or do you want it to find them, but only return 
them when you request them explicitly after processing?

> can I override process(final JCas jcas)
That depends.  If you are subclassing an AE that declares it final you cannot 
override it. If it is declared final then there may be a reason.  In that case 
use composition.  If you need help, web search "composition over inheritance".  
You may want to use composition anyway ... 

> its from UIMA library right
Very close.  Process( JCas ) is from UimaFit while process (CAS ) is from uima. 
 Web search UimaFit or go to uima.apache.org for more information.

> how can I pass an information like final ConceptCode ... createConcepts( 
> final Collection<Long> cuiCodes, final ConceptCode
conceptCode)
Now you are getting into the fast-dictionary-lookup code that is in ctakes.  
You probably don't want to override this.  Look at my question above.  What I 
am getting at is, if you only want ctakes to maintain a small list of schemes 
then you should just change the dictionary configuration file instead of 
delving into coding.  The configuration file is xml and lists the schemes in 
your database, one per line.  Just comment out the schemes that you don't want.

As for a faster way to get codes of a different scheme, you are pretty much out 
of luck.  This is because the uima cas stores everything in an array.  To get 
items of interest ctakes has to go through the array and filter out whatever 
you don't want.  We try to do that as efficiently as possible, but we are tied 
to this array storage mechanism.

Sean



-----Original Message-----
From: Alaa al Barari [mailto:alaa.albar...@gmail.com] 
Sent: Monday, February 13, 2017 3:40 AM
To: dev@ctakes.apache.org
Subject: passing information through pipleline.process

Hi,

I have around 16 different schemes, and the way I see it through ctakes, it 
gets the information for all schemes then filter the un wanted ones afterwards, 
this is a performance concern for me, so I am trying to modify ctakes to suite 
my needs.

can I override process(final JCas jcas)  if yes then where and how ?  its from 
UIMA library right ? if not how can I pass an information like final 
ConceptCode from pipeline.process to createConcepts, my createConcepts now look 
like below :
createConcepts( final Collection<Long> cuiCodes, final ConceptCode
conceptCode) ?

--
Eng Alaa Al-Barari
phone 0599297470

Reply via email to