I'm planning on training a CNN on CT scans for classification. The problem is CT scans are taken slice by slice, and in a typical scan, there could be more than 200 slices. The number of slices in a scan isn't uniform and depend on the scanning machine and age of the person(for whom the scan is taken).

1)How should I make the number of slices uniform for feeding to a deep learning network?

This sorta problem is handled in NLP by padding a chosen vector( or something similar) to sentences which have lengths less than the predefined length and truncating sentences which have lengths greater than the preset length.

2)Can a similar approach be used to make slices(timesteps) uniform or is there a better way?


I would use an LSTM-RNN to encode sequences of arbitrary length (length meaning the number of slices) into fixed-size output. It should be very easy to implement it in Keras :)

Then feed the sequences in your CNN.

Check sequence-to-sequence encoder-decoder scheme, like this one.

The same concept is applied with state-of-the-art algorithms that require fixed size inputs, like this one.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.